最新の MVC プレビューでは、レガシー URL に次のルートを使用しています。
routes.MapRoute(
"Legacy-Firefox", // Route name
"Firefox-Extension/", // URL with parameters
new { controller = "Home", action = "Firefox", id = "" } // Parameter defaults
);
問題は、次の URL の両方が機能することです: http://example.com/Firefox-Extension http://example.com/Firefox-Extension/
2番目だけを機能させたい(SEO用)。また、そのページへのリンクを作成すると、ルーティング エンジンは末尾のスラッシュのない URL を返します。
これは、リンクを生成するために使用しているコードです。
<%= Html.ActionLink("Firefox Extension", "Firefox", "Home")%>
最初の問題は、HTTP ハンドラーを使用して URL への 301 リダイレクトを末尾のスラッシュで行うことで解決できると思います。ただし、末尾のスラッシュを使用して URL にリンクしたいので、スラッシュを使用してバージョンをハードコードする必要がないようにしたいと考えています。
ルートに末尾のスラッシュを強制的に使用する方法を知っている人はいますか?