2014-12-04 135 views
3

我想將「abc.aspx /」重定向到「abc.aspx」。如何才能做到這一點?從URL中刪除拖尾斜槓

當請求的頁面以'/'結尾時頁面被破壞。如何處理這種類型的請求? 是否有任何可以添加到web.config文件中的重寫規則?

回答

10

在你的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文件中。

如果您處於共享主機環境,並且您看到此功能無法正常工作,請詢問您的提供商是否授予您配置此部分的權限。

來源:http://www.tugberkugurlu.com/archive/remove-trailing-slash-from-the-urls-of-your-asp-net-web-site-with-iis-7-url-rewrite-module

+0

感謝,似乎是工作。遵循所有提到的步驟。但是頁面的UI看起來仍然破損。不要在那裏發生什麼錯誤。 – Ashish 2014-12-04 08:54:33

+0

如果您需要其他一些問題的進一步幫助,最好打開一個新的問題,在這個問題中您儘可能描述問題。 – 2014-12-04 08:56:31

+0

謝謝,我改變了我的路由表來處理我的網站的舊網址。您的解決方案修復了我的錯誤,而無需更改RouteConfig.cs中的任何內容 – 2017-10-03 13:30:30