ASP.NET MVCが末尾のスラッシュを無視するのはなぜですか?
-
06-07-2019 - |
質問
次のルートを検討してください:
routes.MapRoute(
"Service", // Route name
"service/", // URL with parameters
new {controller = "CustomerService", action = "Index"} // Parameter defaults
);
Url.Action(" Service&quot ;," CustomerService")
を使用すると、予期される / service / ではなく、
/ service
のURLが生成されます。コード>
これを機能させる方法はありますか、それとも RouteBase
から派生した独自のルーティングを実装する必要がありますか?
解決
レジェンデン-問題の即時解決策はありません。 Jason Youngのブログ投稿問題について。これは非常に有益です。 Scott Hanselmannがここに返信し、基本的には考えていなかったと述べています大したことでした。もしそうなら、新しいIIS7書き換えモジュールを活用して解決できます。
ただし、StackOverflowの同様の質問についてmuradが投稿したソリューションをご覧になることをお勧めします。 ASP.NET MVCルートの末尾のスラッシュ
他のヒント
ページ読み込みイベントに追加:
Dim rawUrl As String = HttpContext.Current.ApplicationInstance.Request.RawUrl
If Not rawUrl.EndsWith("/") Then
HttpContext.Current.ApplicationInstance.Response.RedirectPermanent(String.Format("~{0}/", rawUrl))
End If
所属していません StackOverflow