2013-03-24 93 views
0

我有這個規則重定向到/public流量,但我得到「重定向循環」錯誤。有什麼建議麼?Zend Framework IIS重定向

<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> 
+0

我不熟悉IIS重定向,但是這可能幫助 - > http://forums.iis.net/t/1181128.aspx/1 – Crisp 2013-03-25 16:18:04

回答

1

你有一個循環,因爲你的規則被觸發時:

  1. url="(.*)" =>總是如此
  2. {HTTP_HOST}比賽^test.example\.com$ =>總是如此,你的情況

你重定向規則是由訪問您網站的任何網址觸發的。
然後重定向到您的網站的網址,將再次匹配規則...

如果你想所有的請求重定向到/public,您可以使用以下規則:

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

它檢查網址是否以public/開頭。如果是這種情況,它會重定向到public/UrlRequested

你可以把你的conditions還有:

<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> 
+0

謝謝。這就說得通了。 – aserwin 2013-03-26 18:28:01