ちなみに拡張子をaspxよりもhtmlにした方がSEO的に有利なのかどうかについては、未確認だ。実際のところどうなんだろうか。
1. IISの設定 (IIS6の場合)
Webサイトもしくはアプリケーションのプロパティで「Home Directory」タブ内の「Configuration」を開く。
開いたら、Application extensionsの内、.aspxの設定を開いて確認し、実行パスをコピーしておく。
次に「Add」ボタンを押して追加し、aspxの設定と同じ内容を入力し、拡張子をhtmlに変えて「OK」を押す。
この時に「Verify that file exists」のチェックを外すのを忘れない様に。
2. web.configの設定 (ASP.NET 2.0の場合)
次に、拡張子が.htmlのファイルに対してリクエストが来た場合に実際には.aspxのファイルが呼び出される様に、web.configの <system.web> セクション内に urlMappings の設定を追加する。
<system.web>
(省略)
<urlMappings enabled="true">
<add url="~/index.html" mappedUrl="~/index.aspx" />
<add url="~/detail.html" mappedUrl="~/detail.aspx" />
<add url="~/about.html" mappedUrl="~/about.aspx" />
<add url="~/help.html" mappedUrl="~/help.aspx" />
(など)
</urlMappings>
</system.web>
この方法の難点は、ワイルドカードや正規表現が使えないので全てのページについてaddタグを個別に設定する必要がある事だ。
IIS7だともっと柔軟に設定出来るらしいが、IIS6ではサードパーティのISAPIフィルタを使わない限りはこれで我慢するしかなさそうだ。
追加の説明はこちら。
[ASP.NET]複雑なURLを別のURLにリマッピングするには?[2.0のみ、C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/503aspurlmapping/aspurlmapping.html
.