【问题标题】:Exceptions in redirection in URL in IIS Rewrite module are ignoredIIS Rewrite 模块中的 URL 重定向异常被忽略
【发布时间】:2015-04-03 19:33:55
【问题描述】:

我有一个新站点 https://www.NewSite.com,我希望将旧站点 https://www.OldSite.com 的所有流量重定向到我的新站点 https://www.NewSite.com/ 的根目录,但有一些例外。

例如,我希望 URL(以及其他)https://www.OldSite.com/noredirect 不被重定向并且其他的被重写。例如:

因此,我在 IIS 的旧站点站点中编写了两条规则:

<rewrite>
<rules>
   <clear />
      <rule name="Rewrite To New Site" stopProcessing="true">
          <match url="/kb(.*)" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
          <action type="Rewrite" url="https://www.newsite.com/kb" />
      </rule>
      <rule name="Redirect to New Site" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{REQUEST_URI}" pattern="(.*)/noredirect$" negate="true" />
          </conditions>
          <action type="Redirect" url="https://www.newsite.com" appendQueryString="false" />
      </rule>
  </rules>
</rewrite>

此规则只是将所有对我的旧站点的请求重定向到我的新站点的根目录,忽略异常和重写规则。同样的情况发生在:

<rule name="Redirect to New Site" stopProcessing="true">
              <match url="(.*)" />
              <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                <add input="{REQUEST_URI}" pattern="^/noredirect(.*)" negate="true" />
              </conditions>
              <action type="Redirect" url="https://www.newsite.com" appendQueryString="false" />
          </rule>

我做错了什么?

【问题讨论】:

    标签: exception redirect iis url-rewriting


    【解决方案1】:

    确保您已选中应用程序请求路由缓存下的“启用代理”。 你可以在这里找到一些关于它的信息: http://www.iis.net/learn/extensions/configuring-application-request-routing-%28arr%29/creating-a-forward-proxy-using-application-request-routing

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      • 2013-06-17
      • 2018-11-01
      • 1970-01-01
      • 2016-12-03
      相关资源
      最近更新 更多