在我的 ASP.NET MVC 4 应用程序中RouteConfig
文件中,我注册了以下默认路由:
routes.MapRoute("Default", "{controller}/{action}/{id}",
new { controller = "home", action = "index", id = UrlParameter.Optional });
现在,在我的 Razor 视图中,我想生成一个指向我的应用程序根目录的 URL,如下所示:
<a href="@Url.Action("index", "home")">Home</a>
生成的 URL 包含尾部斜杠;单击链接即可打开页面本地主机/IIS应用程序名称/。但是,我希望 URL 不包含尾部斜杠,以便 URL 为本地主机/IIS应用程序名称。为其他操作生成路线,例如/帐号登录,不会创建带有尾部斜杠的 URL — 它只是链接到我的应用程序根目录的路由。
有什么方法可以阻止 ASP.NET MVC 路由将尾部斜杠附加到上述路由吗?
(我知道我可以从包含斜杠的 URL 重定向到不包含斜杠的 URL,但我宁愿让路由首先生成正确的路由 URL。)
我建议 URL 重写出站规则。
为 URL 重写模块创建出站规则:URL 重写模块 2:URL 重写模块:Microsoft IIS 官方网站 http://learn.iis.net/page.aspx/657/creating-outbound-rules-for-url-rewrite-module/
示例配置:
<rewrite>
<outboundRules>
<rule name="RewriteSlash">
<match filterByTags="A" pattern="^/IISApplicationName/$" />
<action type="Rewrite" value="/IISApplicationName" />
</rule>
</outboundRules>
</rewrite>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)