Web.Release.Config重写URL排除

时间:2013-06-01 09:20:17

标签: iis-7 web-config

我找到了以下代码,它会将我的所有流量重定向到https:

<system.webServer>
<rewrite xdt:Transform="Insert">
  <rules>
    <rule name="RedirectToHTTPS" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
      </conditions>
      <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

是否有可能以某种方式为此规则添加“排除”?

如果可能的话,我想要一个不被重定向的特定路径

例如,我希望http://www.example.com/desktopmodules/以下的所有内容都不重定向。

可以吗?

1 个答案:

答案 0 :(得分:1)

您可以在其上方添加符合排除模式的规则,确保在规则上设置stopProcessing="true",但不执行任何操作:

<system.webServer>
<rewrite xdt:Transform="Insert">
  <rules>

    <!-- Prevent redirection of URLs matching this pattern -->
    <rule name="ExcludeRedirectToHTTPS" stopProcessing="true">
      <match url="^desktopmodules.*" />
      <action type="None"  />
    </rule>

    <rule name="RedirectToHTTPS" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
      </conditions>
      <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>