在我的 ASP.NET MVC 4 应用程序的 RouteConfig
中文件,我注册了以下默认路由:
routes.MapRoute("Default", "{controller}/{action}/{id}",
new { controller = "home", action = "index", id = UrlParameter.Optional });
现在,在我的 Razor View 中,我想生成一个指向我的应用程序根目录的 URL,如下所示:
<a href="@Url.Action("index", "home")">Home</a>
生成的 URL 包含一个斜杠;单击该链接将打开 localhost/IISApplicationName/页面。但是,我希望 URL 不包含尾部斜杠,以便 URL 为 localhost/IISApplicationName。为其他操作生成路由,例如/Account/Login,不会创建带有尾部斜杠的 URL——它只是链接到我的应用程序根的路由。
有什么方法可以防止 ASP.NET MVC 路由将尾部斜杠附加到上述路由?
(我知道我可以从包含斜杠的 URL 重定向到没有斜杠的 URL,但我宁愿让路由首先生成正确的路由 URL。)
最佳答案
我推荐 URL Rewrite Outboundrules。 Creating Outbound Rules for URL Rewrite Module : URL Rewrite Module 2 : URL Rewrite Module : The Official Microsoft IIS Site
示例配置:
<rewrite>
<outboundRules>
<rule name="RewriteSlash">
<match filterByTags="A" pattern="^/IISApplicationName/$" />
<action type="Rewrite" value="/IISApplicationName" />
</rule>
</outboundRules>
</rewrite>
关于asp.net - 删除 ASP.NET MVC 4 路由中的尾部斜杠到应用程序根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11325425/