路由网址以从其他网站获取内容

时间:2012-04-11 12:30:01

标签: windows iis iis-7 url-rewriting reverse-proxy

环境:IIS 7。

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

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

如何在IIS 7中实现这一目标?

3 个答案:

答案 0 :(得分:0)

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

如果子域的DNS指向第一个服务器,任何客户端如何知道转到/blog的其他服务器?

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

答案 1 :(得分:0)

可能的方法:

  • 将新网站托管为blog.domain.com,并将实际内容托管在其他服务器上(与domain.com不同的IIS服务器)
  • subdomain.domain.com/blog上为新网站设置ProxyPass。我知道如何在Apache上(通过mod_proxy和ProxyPass),但不知道如何使用IIS。可能ARR可以帮助你。

答案 2 :(得分:0)

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

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

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

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

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

这一切。在浏览器中测试您的路由,如果一切正常,这应该可行。