http://www.example.com/myapplication/Home/
ところが、AS.NET MVCアプリケーションをただサーバーにデプロイしただけだとIIS6では上のURLは404エラーになってしまう。
そこで、IISの設定を少し変更する必要がある。
Deploying ASP.NET MVC to IIS 6
http://blog.stevensanderson.com/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/
このブログには4つの方法があると書かれている。
方法1.aspnet_isapi.dllへのワイルドカードマッピングを追加する。
方法2.全てのURLに.aspxの拡張子を付け、ルーティングで制御する。
方法3.全てのURLに独自の拡張子を付け、ルーティングで制御する。
方法4.URLリライトを行う。
2と3はURLが格好悪くなるので避けたい。4の方法はちょっと設定が面倒そうだ。という事で1の方法を使う事にした。
ただし1の方法だと画像など静的なファイルも全てASP.NETが処理してしまうので、パフォーマンス的に不利になるとの事。
そこで次の対策も必要になる。
Overriding IIS6 wildcard maps on individual directoriesここに書かれてある方法でサブディレクトリ単位でワイルドカードマッピングを適用しない様に設定出来るとの事。
http://blog.codeville.net/2008/07/07/overriding-iis6-wildcard-maps-on-individual-directories/
これでとりあえずやって見ようと思う。
最後におまけで方法5も載っていた。
それは、
「Windows Server 2008に移行してII7を使う。」
確かに、それが一番!(笑)