- PR -

urlMappingについて

1
投稿者投稿内容
ボルビ
ベテラン
会議室デビュー日: 2007/05/23
投稿数: 52
投稿日時: 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>




どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-05-20 11:37
IIS6上でASP.NETを動作させるときの設定についてよく調べてみてください。
IIS6では拡張子を元にASP.NETに処理を渡します。
このため、拡張子がない状態だとIIS6はASP.NETに処理を渡さず、自分で処理しようとしますので、そんなファイルはない、ということになってしまいます。

IIS6の管理ツールで拡張子のマッピングをなんとか設定すればすべてのリクエストをASP.NETに渡せたかと思いますが、そのような設定変更を行わないかぎりこの動きは無理ですね。

ちなみにIIS7になると、基本的にはすべてのリクエストがASP.NETに渡されることになりますので、そこでは有効にできるでしょうけど。
ボルビ
ベテラン
会議室デビュー日: 2007/05/23
投稿数: 52
投稿日時: 2008-05-20 18:32
どっとねっとふぁん様
素早い回答有難う御座いました。

引用:

IIS6上でASP.NETを動作させるときの設定についてよく調べてみてください。
IIS6では拡張子を元にASP.NETに処理を渡します。
このため、拡張子がない状態だとIIS6はASP.NETに処理を渡さず、自分で処理しようとしますので、そんなファイルはない、ということになってしまいます。


なるほど・・IISの設定もググってみたんですが良く分からなくて、すいません。

引用:

IIS6の管理ツールで拡張子のマッピングをなんとか設定すればすべてのリクエストをASP.NETに渡せたかと思いますが、そのような設定変更を行わないかぎりこの動きは無理ですね。


ASP.NET 辞典のURLマッピングにはできそうなことが書いてあったんでいけるかな〜と
思ったんですが、中々すんなりいきませんね〜

Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2008-05-21 06:11
引用:

ASP.NET 辞典のURLマッピングにはできそうなことが書いてあったんでいけるかな〜と
思ったんですが、中々すんなりいきませんね〜


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

スキルアップ/キャリアアップ(JOB@IT)