簡體   English   中英

如果不存在頁面#PHP,則返回404

[英]Return 404 if non existant page # PHP

我有一個動態審核系統,每頁顯示30條評論,一旦達到30條評論,它就會被分頁。 所以我有這樣的頁面

/評論/城市/波士頓/

/評論/城市/波士頓/頁/ 2 /

/評論/城市/波士頓/頁/ 3 /

等等等等

不幸的是,谷歌似乎正在通過看似推斷的內容來索引頁面 - 例如

/評論/城市/波士頓/頁/ 65 /

這個頁面絕對不存在,我想通知谷歌。 目前它顯示評論頁面但沒有評論。 我無法想象這對SEO非常有益。 所以,如果首先檢查我的MySQL查詢的結果數量,並且如果沒有結果返回404並將它們轉發到主頁或其他頁面,我想要做什么。

目前,這就是我所擁有的。

if (!$validRevQuery) {
    header("HTTP/1.0 404 Not Found");
    header("Location: /index.php");
    exit;
}

我是在正確的軌道上嗎?

重定向是狀態代碼,就像404一樣。 您不能擁有兩個狀態代碼。

您需要輸出404狀態,並同時顯示響應正文(=錯誤頁面)。

if (!$validRevQuery) {
    header("HTTP/1.0 404 Not Found");
    .... output full HTML structure here .....
    exit;
}

您不能同時發送404狀態代碼並執行重定向(通常是3xx狀態代碼 )。 您只能執行以下操作之一:發送404狀態代碼和錯誤文檔, 使用重定向進行響應。

正如Pekka建議的那樣,最好的選擇是進行404狀態,然后將404頁面代碼放在其后。 如果您只是301(重定向)頁面,那么搜索引擎優化是不好的做法,因為搜索引擎會繼續訪問該頁面以查看重定向是否仍在那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM