我有这个IIS重写规则
<rule name="Redirect rule for aliased Pages">
<match url="^/pages/(.*)" />
<action type="Redirect" url="{R:1}" />
</rule>
我们的想法是将http://mydomain.com/pages/about-us/重定向到http://mydomain.com/about-us/。根据IIS中的测试人员,在这种情况下,R:1约为-us /,但重定向总是转到http://mydomain.com//about-us/(参见double //)。我已经尝试从匹配网址中删除两个正斜杠,并将每个正斜杠留在自己的位置,但似乎没有任何区别。
知道额外/来自何处?
答案 0 :(得分:1)
URL重写模块在初始尾部斜杠后开始检查,因此以下内容将删除第一级文件夹“pages”:
<rule name="Redirect rule for aliased Pages">
<match url="^pages/(.*)" />
<action type="Redirect" url="{R:1}" />
</rule>
测试:
正如所料。
请注意,如果您在单独的文件中包含重写规则,则需要回收应用程序池或重新启动IIS以使更改生效。
此外,规则的顺序也很重要。