概要
タイトルのまんまなんですが、URL Rewrite を使って URL を強制的に小文字にしてリダイレクトさせる方法です。
URL Rewrite には、下記の3通りの文字の書き換え機能を持っています。
- UrlDecode
- UrlEncode
- ToLower
今回 下記のルールは、この文字の書き換え機能の ToLower を使って、大文字 が条件にマッチしたときに、小文字に書換えてリダイレクトするようにしています。
ルール
<rewrite> <rules> <rule name="FirstRule.Lowercase" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{REQUEST_URI}" pattern="(^.*[A-Z].*$)" ignoreCase="false" /> </conditions> <action type="Redirect" url="{ToLower:{C:1}}" appendQueryString="false" /> </rule> </rules> </rewrite>
※ web.config の system.webServer セクションに 上記の設定を追加するだけです。