2012-04-14 42 views
12

我有一個與Windows Server 2008和IIS7.5共享的託管計劃,並且安裝並啓用了微軟重寫模塊。微軟重寫模塊 - 在網址上強制www或者從網址中刪除www

<rewrite> 
    <rules> 
     <rule name="myRule" patternSyntax="Wildcard"> 
      <!--Rewriting code--> 
     </rule> 
    </rules> 
</rewrite> 

那麼,如何重定向mydomain.com/everywhere-in-site/my-page.html與微軟重寫模塊www.mydomain.com/everywhere-in-site/my-page.html?

如果我想將www.mydomain.com/everywhere-in-site/my-page.html重定向到mydomain.com/everywhere-in-site/my-page.html,該怎麼辦?

回答

32

要從域中刪除www和重定向到一個「裸域」你可以迪像下面的代碼片段:

<rewrite> 
    <rules> 
    <rule name="Remove WWW prefix" stopProcessing="true"> 
     <match url="(.*)" ignoreCase="true" /> 
     <conditions> 
     <add input="{HTTP_HOST}" pattern="^www\.yourdomain\.com$" /> 
     </conditions> 
     <action type="Redirect" url="http://yourdomain.com/{R:1}" redirectType="Permanent" /> 
    </rule> 
    </rules> 
</rewrite> 

和周圍的其他方式(如果你喜歡的)重定向一個非www一個以www:

<rewrite> 
    <rules> 
    <rule name="Add WWW prefix" stopProcessing="true"> 
     <match url="(.*)" ignoreCase="true" /> 
     <conditions> 
     <add input="{HTTP_HOST}" pattern="^yourdomain\.com$" /> 
     </conditions> 
     <action type="Redirect" url="http://www.yourdomain.com/{R:0}" redirectType="Permanent" /> 
    </rule> 
    </rules> 
</rewrite> 

redirectType="Permanent"當然是可選的,但對於搜索引擎優化和大多數情況下我會推薦它。

也請看到這些SO問題/回答:

+2

這個答案的縮影怎麼那麼應該的。感謝Martin。 – pimbrouwers 2016-01-29 20:18:52

相關問題