URLルーティングとIIS72011年3月24日午後4時24分
やあ、
asp.net4.0およびIIS7のURLルーティングに関するクエリがあります。以下に、私のWebサイトの構造と、IIS7での構成方法について説明しました。
ディレクトリ構造:
1.MyWebsite> Index.aspx
2.MyWebsite> AboutUs> Index.aspx
3.MyWebsite> ContactUs> ContactUs.aspx
II7構成:
アプリケーションのデフォルトドキュメントをIndex.aspxとして構成しました。これで、以下のURLにアクセスすると、IIS7は自動的にルーティングをほとんど実行しません(これまで、global.asaxにルートを追加していないことに注意してください)。
1.localhost/MyWebsiteはlocalhost/MyWebsite/Index.aspxに転送されますOk!!
2.localhost / MyWebsite/Aboutusはlocalhost/AboutUs / Index.aspxに転送されます(このリダイレクトは、親レベルのデフォルトドキュメントがAboutUsフォルダーに継承されるため実行されます)Ok !!
3.localhost / MyWebsite / ContactUs == Httpエラー403.14禁止(このエラーは、ConactusフォルダーにIndex.aspxが見つからないためIIS7によってスローされます)問題ありません!!
localhost / MyWebsite/ContactUsをlocalhost/MyWebsite / ContactUs / Index.aspxにルーティングするために、global.asaxのRegisterRoutes()メソッドに以下のコードを追加しました。これで要件が満たされることを期待しています。
routes.MapPageRoute('ConactUs','ContactUs','~/ContactUs/ContactUs.aspx');
したがって、localhost / MyWebsite / ContactUsにアクセスしても、同じForbiddenエラーが発生します。では、ルートでのIIS7のデフォルトのページ設定では、ルートが機能しませんか?
各フォルダにIndex.aspxページがある場合、それは/Contactus/Index.aspxへのリダイレクトで機能します...しかし、すべてのページにIndex.aspx(デフォルトのドキュメント)がない場合はどうなりますか?
ありがとう&親切よろしく、m。