2014-04-17 23 views
2

我指定自定義錯誤頁在web.config中像這樣自定義錯誤頁的內容不能正常顯示

<system.web> 
    <customErrors mode="RemoteOnly" defaultRedirect="/Error.html" /> 
</system.web> 

自定義錯誤頁,並正確顯示其內容。但是當URL以斜線結尾時,將顯示錯誤頁面內容並且不能正確顯示。

例如:
www.abc.com/product - >錯誤頁面內容能正確顯示
www.abc.com/product/ - >顯示不正確的錯誤頁面內容

在此先感謝。

編輯:

當URL比其他任何其它特殊字符「/」結尾,該網址重定向正確的error.html到,但URL以「/」被認爲是項目文件夾等結束錯誤頁面顯示不正確。糾正我,如果我錯了。 任何建議。

+1

如果會發生什麼你改變默認的重定向到'〜/ Error.html'? – Carsten

+0

它正確地重定向到Error.html。但是,當URL以正斜槓「/」結尾時,錯誤頁面內容不會清晰地顯示出來 – kk1076

+1

看起來您希望嘗試將「目錄瀏覽」重定向到您的錯誤頁面。我不確定如果沒有註冊路由,這是可能的,就像MVC站點那樣。您仍然可以在正常的ASP.NET網站中註冊路由,但您必須設置IIS,以便所有請求都由'aspnet_isapi.dll'處理。 –

回答

1

試試這個:

<customErrors mode="On" defaultRedirect="Error"></customErrors> 

,並在您的視圖 - >共享文件夾的名稱爲「Error.cshtml」

在查看Error.cshtml視圖頂部添加這一行:

@model System.Web.Mvc.HandleErrorInfo 

...your code..... 

希望這有助於

+0

我沒有嘗試在MVC中。它是一個正常的asp.net項目 – kk1076

1

你是想重定向到您的錯誤頁面,當用戶嘗試迪教區瀏覽。這通常是一個HTTP錯誤,由服務器處理,與ASP.NET處理分開處理。

如果你正在使用IIS7 +,那麼你可以從How to disable Directory Browse in Web.Config採取解決方案結合在一起,並Asp.net - Web.Config - Custom Errors

具體到你的情況,你想在你的web.config類似於塊:

<system.webServer> 
    <directoryBrowse enabled="false" /> 
    <httpErrors errorMode="Custom"> 
    <remove statusCode="403"/> 
    <error statusCode="403" path="~/Error.aspx" responseMode="Redirect"/> 
    </httpErrors> 
</system.webServer> 
相關問題