2011-06-08 35 views
0

我想在URL重寫模塊的iis 7中爲我的網站設置重寫規則。如果網站名稱是「WonderfulWidgets」IIS 7的URL重寫 - 駝峯域和小寫的一切

我希望它永遠是http://WonderfulWidgets.com
NOT:wonderfulwidgets.com
NOT:WONDERFULWIDGETS.com

我也希望以後WonderfulWidgets.com一切是小寫。
IE WonderfulWidgets.com/best-widgets。

我已經完成了小寫的URL重寫,我也做它,所以它會前WonderfulWidgets.com刪除任何領先的WWW

我的問題是我的小寫URL重寫也降低了域名。 我需要幫助編寫CamelCase域名,並將其他所有內容重寫爲小寫。

這是我在我的web.config:

<rewrite> 
     <rules> 
      <rule name="CanonicalHostNameRule1"> 
       <match url="(.*)" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern="^WonderfulWidgets\.com$" negate="true" /> 
       </conditions> 
       <action type="Redirect" url="http://WonderfulWidgets.com/{R:1}" /> 
      </rule> 
      <rule name="RemoveTrailingSlashRule1" stopProcessing="true"> 
       <match url="(.*)/$" /> 
       <conditions> 
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
       </conditions> 
       <action type="Redirect" url="{R:1}" /> 
      </rule> 
      <rule name="Default Document URL Rewrite" stopProcessing="true"> 
       <match url="(.*?)/?Default\.aspx$" /> 
       <action type="Redirect" url="{R:1}/" /> 
       <conditions> 
        <add input="{URL}" pattern="WebResource.axd" negate="true" /> 
       </conditions> 
      </rule> 
     </rules> 
    </rewrite> 

回答

3

DNS名稱通常被視爲不區分大小寫,所以大多數(所有?)網頁瀏覽器顯示在所有小寫的域名地址欄。據我所知,你不能通過改變你在HTTP響應中返回的內容來改變這種行爲。

RFC 4343

按照原來的DNS設計決策,就名 查找DNS查詢比較應區分大小寫。

Wikipedia

域名稱以區分獨立的方式解釋。

瀏覽器似乎都喜歡小寫的表示。