我正在尝试使用URL Rewrite模块在IIS 7中设置规范的默认URL。我认为我误解了如何使用“匹配URL”字段。以下似乎没有做任何事情:
<rewrite>
<rules>
<rule name="EnforceDefaultPage">
<match url="^http://(?:www\.)?mydomain\.com(?:/)?(?:blog\.aspx)?$" />
<action type="Redirect" url="http://www.mydomain.com/blog" appendQueryString="false" />
</rule>
</rules>
</rewrite>
我在很多例子中都注意到人们已经使用HTTP_HOST变量添加了一个条件......但是这与匹配网址有什么关系呢?似乎我应该能够省略任何条件,因为我的正则表达式完全匹配我想要的。
答案 0 :(得分:5)
我在这里找到答案:http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference
“请注意,传递给分布式规则的输入URL字符串始终相对于定义规则的Web.config文件的位置。例如,如果请求是http://www.mysite.com/content/default.aspx?tabid=2&subtabid=3,则重写规则在/ content目录中定义,然后规则将此URL字符串default.aspx作为输入。“