0

环境:IIS 7。

  • 我有一个默认站点www.domain.com。文件夹 C:Inetpub/wwwroot/domain
  • 有子域www.subdomain.domain.com。文件夹 C:Inetpub/wwwroot/domain/subdomain。
  • 现在,我在外部服务器上建立了一个新网站,比如说www.newdomain.com. 由于某些限制,我无法www.newdomain.com在同一台 IIS 服务器上托管(如上所述)。

在此设置中,如何在将 URL 保留为的同时www.subdomain.domain.com/blog显示所有可用内容www.newdomain.comwww.subdomain.domain.com/blog

这如何在 IIS 7 中实现?

4

3 回答 3

0

我终于能够通过反向代理重写规则来做到这一点。对于那些有类似问题的人来说,解决方案是:

转到托管 www.subdomain.domain.com 的站点节点,然后单击重写规则。如果未安装 ARR,IIS 管理器会要求您安装它。安装 ARR 后关闭并重新打开 IIS 管理器。

打开重写规则窗口。将出现一个对话框,询问是否允许反向代理服务器场外的服务器,接受它。在入站规则中输入 www.newdomain.com。在 Outbound 规则的 from 输入中输入 www.newdomain.com,在 to 输入中输入 www.subdomain.domain.com。单击应用更改。

这会将整个 www.subdomain.domain.com 路由到 newdomain.com。您只需要路由 /blog 链接。

为此,请转到重写规则并选择您刚刚创建的重写规则。单击编辑并在 url 输入中的匹配部分将 (.asterix) 更改为 ^blog(.asterix)。这将应用规则来仅路由 /blog。

就这些。在浏览器中测试您的路由,如果一切正常,这应该可以工作。

于 2012-04-15T08:49:33.770 回答
0

你必须把整个www.subdomain.domain.com放在另一台服务器上。您不能只将/blog路径放在其他地方。

/blog如果子域的 DNS 指向第一台服务器,那么任何客户端如何知道要转到另一台服务器?

或者,您可以blog.subdomain.domain.com为博客服务器创建。

于 2012-04-12T05:50:16.397 回答
0

可能的方法:

  • 将新网站blog.domain.com与托管在不同服务器上的实际内容一样托管(与 IIS 服务器不同domain.com
  • subdomain.domain.com/blog在新网站上设置 ProxyPass 。我知道如何在 Apache 上执行此操作(通过 mod_proxy 和 ProxyPass),但不确定如何使用 IIS 执行此操作。可能ARR可以帮助你。
于 2012-04-12T06:30:15.720 回答