Iis 7 Zend Framework IIS重定向

Iis 7 Zend Framework IIS重定向,iis-7,url-rewriting,Iis 7,Url Rewriting,我有将流量重定向到/public的规则,但我得到了“重定向循环”错误。有什么建议吗 <rule name="Redirect to /public" stopProcessing="true"> <conditions logicalGrouping="MatchAll"> <add input="{HTTP_HOST}" pattern="^test.example\.com$" ignoreCase="false" /> &l

我有将流量重定向到
/public
的规则,但我得到了“重定向循环”错误。有什么建议吗

<rule name="Redirect to /public" stopProcessing="true">
    <conditions logicalGrouping="MatchAll">
       <add input="{HTTP_HOST}" pattern="^test.example\.com$" ignoreCase="false" />
    </conditions>
    <action type="Redirect" url="http://test.example.com/{R:1}" />
    <match url="(.*)" ignoreCase="false" />
</rule>

您有一个循环,因为您的规则在以下情况下被触发:

  • url=“(.*)”
    =>始终为真
  • {HTTP\u HOST}
    匹配
    ^test.example\.com$
    =>在您的情况下始终为真
  • 您的重定向规则由访问您网站的任何url触发。
    然后,它会重定向到您的网站,url将再次匹配规则

    如果要将所有请求重定向到
    /public
    ,可以使用以下规则:

    <rule name="Redirect to /public" stopProcessing="true">
        <match url="^public/(.*)" negate="true" />
        <action type="Redirect" url="public/{R:1}" />
    </rule>
    

    我不熟悉iis重定向,但这可能会有所帮助->谢谢。这是有道理的。
    <rule name="Redirect to /public" stopProcessing="true">
        <match url="^public/(.*)" negate="true" />
        <conditions logicalGrouping="MatchAll">
          <add input="{HTTP_HOST}" pattern="^test.example\.com$" ignoreCase="false" />
        </conditions>
        <action type="Redirect" url="public/{R:1}" />
    </rule>