重写域名,使其由不同的服务器绑定处理......是否可能?

时间:2010-08-12 15:27:23

标签: iis iis-7 url-rewriting mod-rewrite

我想重写一个子域,因此它作为查询字符串传递给一个站点。采取以下方案。

IIS配置:
站点A(绑定:*,site-a.com)
站点B(绑定:site-b.com)

重写规则:

"sub1.site-a.com" -- rewrite to -> "site-a.com"
"sub2.site-a.com" -- rewrite to -> "site-a.com"
"sub1.site-b.com" -- rewrite to -> "site-b.com?subdomain=sub1"
"sub2.site-b.com" -- rewrite to -> "site-b.com?subdomain=sub2"

如果我在IIS服务器设置中制作重写规则,site-a.com将捕获所有重写,因为原始url与site-a.com上的默认绑定匹配,而不是匹配重写的URL的绑定。这种行为有什么办法吗?

3 个答案:

答案 0 :(得分:1)

如果你要在前面放置一个反向代理,比如说Apache,这可以用mod_rewrite。

我认为在IIS中没有任何明确的方法可以做到这一点。

答案 1 :(得分:0)

您需要两个IP地址或在网站中移动部分重定向逻辑。

第二种解决方案可能无法接受,因此请获取第二个IP地址。这是合理的,所以你不会有任何问题得到它。

答案 2 :(得分:0)

解决方案是在ARR(应用程序请求路由)中使用代理。当您使用“http://”编写重写规则时,它将通过ARR路由。问题解决了。