この質問は、例で最も効果的です。IISでURLに余分なフォワードスラッシュをリダイレクトする方法
は、私のWebアプリがhttp://example.com/WebApp/
According to Microsoftでホストされて前方に末尾のスラッシュが欠落している場合、IISはリダイレクトしますと言います。これは期待どおりに動作します。http://example.com/WebApp
に送信されたリクエストはhttp://example.com/WebApp/
にリダイレクトされます。
私の場合、誰かが余分なスラッシュ:http://example.com/WebApp//
でブックマークしました。これは期待どおりのWebアプリケーションをロードしますが、すべての相対URLが間違っています。たとえば、同じドメインの別のアプリ(../AnotherApp/SomePage.aspx
など)を呼び出すと、/AnotherApp/SomePage.aspx
を正しく読み込む代わりに、/WebApp/AnotherApp/SomePage.aspx
を読み込もうとします。
http://example.com/WebApp//
をhttp://example.com/WebApp/
にリダイレクトするにはどうすればよいですか?
これはあなたがすべきことではありません...それは私が今それをテストすることができないので確かに働くでしょう。しかし、おそらく、URLが一致しない場合、Request.Urlをチェックしてユーザーをページにリダイレクトするページロードイベントにコードを追加することができます。何か試しましたか? –
@DanielCookこの時点で、Requestオブジェクトは '/ WebApp/Default.aspx'と言って遅すぎるので、これは機能しません。 – styfle
[複数のスラッシュを削除](http://stackoverflow.com/questions/12004223/remove-multiple-forward-slashes) – dana