【发布时间】:2012-03-20 10:39:09
【问题描述】:
我想要做的是将子域重写到主应用程序,并将指定的子域附加到查询字符串上。例如,“http://a.main.com”应该重写为“http://www.main.com/default.aspx?SD=a”。
这是我的重写规则:
<rule name="SubDomain" stopProcessing="true">
<match url="^$" />
<conditions trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^([A-Za-z0-9]+)\.main\.com$" />
</conditions>
<action type="Rewrite" url="http://www.main.com/default.aspx?SD={C:1}" logRewrittenUrl="false" />
</rule>
当我将浏览器导航到“http://a.main.com”时,我收到 404。但是,当我将规则更改为重定向规则时,它会正确重定向。它在设置为重定向模式时有效,但在设置为重写模式时无效,这让我非常困惑。怎么回事?
仅供参考,我的 HOSTS 文件已设置为 www.main.com 和 a.main.com 都指向 127.0.0.1。该网站在 IIS7 中的唯一绑定将其主机名属性设置为 127.0.0.1。
【问题讨论】:
标签: iis-7 url-rewriting