- - PR -
urlMappingについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-05-20 11:24
いつもお世話になっています。
「環境」 Visual Studio 2005 .NET Framework2.0 IIS6.0 仮想パス:test url:http://localhost/test/default.aspx ↓に変えたい url:http://localhost/test/home url末尾の「.aspx」を外したいと思って、 Web.configに下記を追加してVisual Studio で確認したところ default.aspxが表示できたんですが、IISにあげて確認すると 404エラー ファイルがありませんと表示されます。 他に設定が必要な箇所があるのでしょうか? ご教授お願い致します。 <system.web> <urlMappings enabled="true"> <add url="~/home" mappedUrl="~/default.aspx"/> </urlMappings> </system.web> | ||||||||
|
投稿日時: 2008-05-20 11:37
IIS6上でASP.NETを動作させるときの設定についてよく調べてみてください。
IIS6では拡張子を元にASP.NETに処理を渡します。 このため、拡張子がない状態だとIIS6はASP.NETに処理を渡さず、自分で処理しようとしますので、そんなファイルはない、ということになってしまいます。 IIS6の管理ツールで拡張子のマッピングをなんとか設定すればすべてのリクエストをASP.NETに渡せたかと思いますが、そのような設定変更を行わないかぎりこの動きは無理ですね。 ちなみにIIS7になると、基本的にはすべてのリクエストがASP.NETに渡されることになりますので、そこでは有効にできるでしょうけど。 | ||||||||
|
投稿日時: 2008-05-20 18:32
どっとねっとふぁん様
素早い回答有難う御座いました。
なるほど・・IISの設定もググってみたんですが良く分からなくて、すいません。
ASP.NET 辞典のURLマッピングにはできそうなことが書いてあったんでいけるかな〜と 思ったんですが、中々すんなりいきませんね〜 | ||||||||
|
投稿日時: 2008-05-21 06:11
Scottさんのブログに解決方法が掲載されています。 http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx 上記ブログのApproach 4: Extension-less URLを参考にしてください。 それから、ポストバックしたときにURLが変わらないように特別な処理が必要です。 詳細は、「Handling ASP.NET PostBacks with URL Rewriting」を参照してください。 ちなみに、jsajax.comのサイトでは、SEO対策のためにURLを書き換えています。 たとえば、 http://jsajax.com/samplesbyid.aspx?id=942 の代わりに http://jsajax.com/CSSDockMenuArticle942.aspx を使用しています。 内部的に http://jsajax.com/samplesbyid.aspx?id=942 に書き換えます。 検索エンジンには http://jsajax.com/CSSDockMenuArticle942.aspx で登録されます。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 [ メッセージ編集済み 編集者: Access 編集日時 2008-05-21 09:04 ] |
1