當網站不存在時應該發生什麼?如果我在我的.htaccess中設置了一個自定義錯誤頁面,我得到一個302臨時重定向到我的404頁面(我發送404頭文件)。這是應該如何工作?或者我應該做一個301永久重定向到錯誤頁面?我使用的是PHP和Apache。如果網頁不存在,我應該返回什麼標題?
2
A
回答
5
不存在的頁面沒有「臨時移動」(301)或「永久移動」(302)到關於文件不存在的頁面,它不存在。要發送的正確標題是404,而不是其他任何內容。
不要在任何地方重定向,而是在請求的URL處提供「文件未找到」頁面內容。
7
如果它從未存在,則應發送404 Not Found
。
如果它曾經存在,但沒有更多,你應該發送410 Gone
。
設置您的服務器直接發送錯誤響應。
您不應該重定向到錯誤頁面。這基本上意味着談話會走:
- 瀏覽器:我可以有/ foo嗎?
- 服務器:您可以在/ bar找到/ foo!
- 瀏覽器:我可以有/ bar嗎?
- 服務器:我找不到/ bar。
誘餌和開關永遠不好。
1
如果您有一個靜態錯誤頁面,比如說404.html,apache顯示未找到頁面時顯示,並且您還需要能夠爲動態頁面提供404頁面,您可以通過發送從PHP的404頭和飼料的錯誤頁面,以及:
<?php
header("HTTP/1.0 404 Not Found");
readfile("404.html");
?>
相關問題
- 1. 如果我不關心返回值,我應該聲明什麼返回類型?
- 2. 如果存在什麼返回
- 3. 如果找不到要返回的對象,應該從方法返回什麼?
- 4. 我應該從DBIx :: Class :: ResultSet :: *方法返回什麼結果?
- 5. 如果目標網址未返回,該怎麼辦
- 6. 如果DateTime類型函數中存在任何異常,應該返回什麼?
- 7. 什麼應該dynamicType在Swift中返回?
- 8. 我的Ruby方法有什麼問題?它應該返回HTML標記
- 9. 爲什麼我不應該在標題中放置「using namespace std」?
- 10. 如果隊列爲空,應該返回什麼隊列?
- 11. 如果成功,OpenVV中的HSV閾值應該返回什麼?
- 12. 如果輸入無效,int函數應該返回什麼?
- 13. 如果JavaScript構造函數失敗,應該返回什麼?
- 14. 爪哇 - 拳擊整數 - 爲什麼它返回true,如果應該返回false
- 15. 紅寶石#times不返回什麼,我認爲它應該
- 16. 爲什麼我不應該從ASP.NET ApiController返回HTML?
- 17. SESSION應該保存什麼東西,什麼不應該保存?
- 18. 在Objective-c中我應該用什麼來返回該參數不能爲零?
- 19. 返回我正在訪問的網頁的標題UIWebView
- 20. 爲什麼函數getline返回空行,如果不存在
- 21. 如果「key」不存在,map :: find()會返回什麼樣的值?
- 22. 如果嵌套數組存在,我該如何返回true
- 23. 如果我沒有東西可以返回未知類型,我應該返回什麼
- 24. 爲什麼不會它通過測試,它應該「返回一個空數組,如果物業不存在」
- 25. 爲什麼我們應該在button_press_event.handler的末尾返回True?
- 26. 我應該在空文檔上返回什麼?
- 27. 我應該在Git中存儲什麼?
- 28. RESTful'PUT'操作應該返回什麼
- 29. 這些比較應該返回什麼?
- 30. javascript類應該顯式返回什麼?
但我的網頁是動態生成的(不好意思忘了提),所以我需要加載頁,以檢查其有效的頁面,因此斜面從我的.htaccess文件重定向的權利? – Luke 2010-11-22 21:29:47
您也可以使用`header()`從PHP發送404(或其他)頭文件。 – GolezTrol 2010-11-22 21:31:32