在用thinkphp開發項目的時候,會額外的處理404錯誤頁面,但是我們很多的開發人員,在處理404錯誤頁面的時候,處理方式都是不對的。
普通處理404的操作是通過 $this->error();
$this->error(); exit;
這種處理錯誤頁面,需要定義模板:
注意這里:這里報404錯誤是由於沒有這個模板,才會報404錯誤,
但是如果我們定義了這個模板:注意看這個狀態
這個狀態就是 200 ,雖然也能處理錯誤頁面,而且在使用上沒有任何問題,但是如果考慮優化就不是這么回事兒了。
網站優化對於訪問這個不存在的頁面,如果返回的狀態是 200 ,說明是正常的,而且可能這個頁面會被收錄。如果你的網站有100個不存在的頁面,返回的狀態是 200 ,那么這100個頁面都有可能被收錄,因為它的狀態碼是200,能夠正常訪問,所以這種情況就是不合理的。
正確的做法應該是返回404的狀態碼:
header("HTTP/1.0 404 Not Found"); $this->display('error_404');
注意看這樣的狀態碼:就是404的錯誤狀態碼,這種操作才是正確的:
技術提供:昆明網站建設