web.config重写路径规则

时间:2017-05-31 23:49:11

标签: .net iis url-rewriting web-config

我正在尝试在web.config中创建一个重写规则,该规则将使用http://example.org/MySite之类的网址,并将它们重定向回根网站,例如http://example.org

它还应忽略特定文件夹,例如http://example.org/csshttp://example.org/js

<rewrite>
  <rules>
    <rule name="enquiry" stopProcessing="true">
      <match url="http://example.org/^$" /> <!-- Wrong !! ->
      <action type="Rewrite" url="/" />
    </rule>
  </rules>
</rewrite>

1 个答案:

答案 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>

第一个确保根未被重定向到重定向循环,并停止处理否则可能适用的其他规则,第二个排除您要排除的文件夹,只需在条件中添加另一行是您不希望重定向到根目录的更多文件夹。