Asp.net

IIS URL 將模組 url 重寫為小寫

  • February 16, 2017

為了更好的 SEO,我們使用 URL 重寫將所有 URL 轉換為小寫。我在下面的文章中提到了這個。

從 URL 的角度來看,一切正常,但是當我們簽入 fiddler 時,我們會看到很多 301 重定向。看起來圖像、javascript、css、jquery ajax 呼叫和所有內容都被轉換為小寫。我正在嘗試刪除它並只想重寫 aspx 副檔名而不重寫副檔名 url。我試圖玩 matchurl 沒有任何成功。任何幫助或指南都將受到高度評價。

謝謝

編輯:我目前的規則是

<rules>

   <rulename="LowerCaseRule1"patternSyntax="ExactMatch"stopProcessing="true">
     <matchurl="[A-Z]"ignoreCase="false"/>
     <actiontype="Redirect"url="{ToLower:{URL}}"/>
   </rule>
 </rules>

您可能可以使用以下內容:

<rule name="LowerCaseRule1" stopProcessing="true">
   <match url="[A-Z]" ignoreCase="false" />
   <action type="Redirect" url="{ToLower:{URL}}" />
   <conditions logicalGrouping="MatchAny">
       <add input="{REQUEST_FILENAME}" pattern="\.aspx$" />
       <add input="{REQUEST_FILENAME}" pattern="\." negate="true" />
   </conditions>
</rule>

僅當條件之一為真時才會觸發規則:

  • 第一個檢查請求的路徑(文件名)是否以.aspx.
  • 第二個檢查是否請求的路徑(文件名)不包含 a .(所以沒有副檔名)

引用自:https://stackoverflow.com/questions/18241378