我正在尝试在web.config中创建一个重写规则,该规则将使用http://example.org/MySite之类的网址,并将它们重定向回根网站,例如http://example.org。
它还应忽略特定文件夹,例如http://example.org/css或http://example.org/js。
<rewrite>
<rules>
<rule name="enquiry" stopProcessing="true">
<match url="http://example.org/^$" /> <!-- Wrong !! ->
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
答案 0 :(得分:1)
这两条规则应该是你所需要的:
<rewrite>
<rules>
<rule name="root rule" stopProcessing="true">
<match url="^$" />
<action type="None" />
</rule>
<rule name="redirect rule" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_URI}" pattern="^/css" negate="true" />
<add input="{REQUEST_URI}" pattern="^/js" negate="true" />
</conditions>
<action type="Redirect" url="/" />
</rule>
</rules>
</rewrite>
第一个确保根未被重定向到重定向循环,并停止处理否则可能适用的其他规则,第二个排除您要排除的文件夹,只需在条件中添加另一行是您不希望重定向到根目录的更多文件夹。