2013-06-05 192 views
0

我想實現以下重定向。 https://abc.comhttp://www.abc.comhttps到http重定向不起作用

我已經使用以下重定向規則,這對於HTTP非www工作正常到http WWW重定向,但它不工作的HTTPS非www到HTTP重定向WWW。

<rule name="HttpsTOHttpRedirect" stopProcessing="true"> 
<match url="(.*)" /> 
<conditions> 
<add input="{CACHE_URL}" pattern="^https://abc.com" /> 
</conditions> 
<action type="Redirect" url="http://www.abc.com{REQUEST_URI}" /> 

請幫助我。

回答

0

您的規則刪除www可能會工作,但您可以優化它。

爲了得到你想要的,你需要這些規則2什麼:

<rule name="Redirect to HTTP" stopProcessing="true"> 
    <match url=".*" /> 
    <conditions> 
    <add input="{HTTPS}" pattern="^ON$" /> 
    </conditions> 
    <action type="Redirect" url="http://{HTTP_HOST}/{R:0}" /> 
</rule> 
<rule name="Add www if missing"> 
    <match url=".*" /> 
    <conditions> 
    <add input="{HTTP_HOST}" pattern="^www\." negate="true" /> 
    </conditions> 
    <action type="Redirect" url="http://www.{C:0}/{R:0}" /> 
</rule> 

的第一條規則重定向使用http,如果它是一個https請求(使用反向引用,以保持原始地址:{R:0})。

第二條規則在缺失時附加www(使用2個反向引用來保留原始網址:{R:0}{C:0})。