从URL中删除拖尾斜杠
问题描述:
我想将“abc.aspx /”重定向到“abc.aspx”。如何才能做到这一点?从URL中删除拖尾斜杠
当请求的页面以'/'结尾时页面被破坏。如何处理这种类型的请求? 是否有任何可以添加到web.config文件中的重写规则?
答
在你的web.config,下system.webServer
,加
<rewrite>
<rules>
<!--To always remove trailing slash from the URL-->
<rule name="Remove trailing slash" stopProcessing="true">
<match url="(.*)/$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>
</rules>
</rewrite>
的一些陷阱
在你的开发环境中,如果你在Visual Studio开发Sever的运行你的网站,你会不会能够看到此功能工作。您需要将您的应用程序配置为至少在IIS Express下运行。
当您部署您的网站并看到此功能在生产服务器上无法正常工作时,这将是因为您错过了配置。其中一个常见错误是属性设置为Deny
,规则在<sectionGroup name="rewrite">
之下applicationHost.config文件中。
如果您处于共享主机环境,并且您看到此功能无法正常工作,请询问您的提供商是否授予您配置此部分的权限。
感谢,似乎是工作。遵循所有提到的步骤。但是页面的UI看起来仍然破损。不要在那里发生什么错误。 – Ashish 2014-12-04 08:54:33
如果您需要其他一些问题的进一步帮助,最好打开一个新的问题,在这个问题中您尽可能描述问题。 – 2014-12-04 08:56:31
谢谢,我改变了我的路由表来处理我的网站的旧网址。您的解决方案修复了我的错误,而无需更改RouteConfig.cs中的任何内容 – 2017-10-03 13:30:30