2012-12-20 100 views
3

我有在asp.net mvc項目。而且有問題,我不知道如何解決: 我在web.config中的錯誤處理增加,這是確定的,但它的回報asp.net mvc 404代碼錯誤

HTTP/1.1 302 Found 
Content-Length: 157 
Location: /Error404.html?aspxerrorpath=/fghdhdfghg 

這是不對的,我需要的HTTP/1.1 404未找到。我在

that site

你知道如何設置錯誤代碼爲我error404.html網頁測試?我已經嘗試了兩種硬編碼html頁面& MVC Action。

+0

您是否嘗試禁用自定義錯誤處理? – jrummell

+0

但我需要該頁面的自定義設計 – SiarheiK

回答

2

您可以設置Response.StatusCode = 404或者您可以從控制器返回HttpNotFoundResult

+0

該方法是否允許使用該頁面的自定義設計?我在測試HTTP/1.1的404找不到,但有默認的asp.net設計[鏈接](http://puu.sh/1Dv4n) – SiarheiK

+0

是的,如果你在返回視圖之前在你的控制器中設置StatusCode: – MarkG

+0

thancks 。但它也應該設置爲'Response.TrySkipIisCustomErrors = true;'現在可以工作。 – SiarheiK

0

您正在獲取302(對象移動),因爲您在配置中明確請求了這一點,通過告訴它在發生404錯誤時使用備用頁面。你的另一種選擇是讓Web服務器發回404錯誤,但你不會有機會發送HTML內容(大概是你重定向的全部理由)。

0

302不是錯誤。它是「暫時移動」的HTTP狀態碼,它告訴Web瀏覽器/搜索引擎它應該繼續使用它首先使用的URL。

使用mod_rewrite,PHP的header()和其他URL改變方案時,302重定向很常見。是在您的Web服務器啓用緩存..?