2011-11-12 66 views
0

我使用這個重定向到主頁,如果後期不存在:是PHP重定向seo友好嗎?

if($_GET['id'] > mysql_num_rows($total_rows)){ 
    header("HTTP/1.1 301 Moved Permanently"); 
    header("Location: ".site_url."/"); 
    exit(); 
} 

這是搜索引擎友好?

+2

SEO是猜測,因此偏離主題。 – mario

+1

馬里奧我不同意你的看法。我不是SEO專家,但我不認爲這也是猜測(我再次提高)!任何方式的這種重定向是正確的和搜索引擎友好。 –

+1

@MerianosNikos:沒有downvote。我們只能在這裏回答已知的技術部分,這就是重定向的工作,並被搜索引擎所尊重。如果這影響排名(SEO)完全是一個猜測遊戲,而不是技術問題。但是,這樣的詢問可能是網站管理員的話題。 – mario

回答

5

301重定向在這裏是錯誤的。您應該發出一個404 Not Found,並附有一個很好的錯誤頁面,向用戶解釋狀態(包括鏈接到您的主頁或其他地方),或者如果內容以前存在,則會類似地410 410。 301在這裏是不正確的,可能會或可能不會搜索引擎優化友好; 4xx狀態肯定更正確。無論這種狀態是通過PHP還是其他任何方式發佈都無關緊要。

另見http://en.wikipedia.org/wiki/Http_status_codes

+0

感謝您的支持(y) – Zhianc

1

有點offtopic字面問題,但過長的註釋。

  1. 可以刪除的條目,所以,實際的ID將總是大於條目數。
  2. 無論如何這都是計數條目的錯誤方法。您必須僅選擇號碼本身,而不是選擇表格中的所有日期,而是選擇count(*)
  3. 雖然你不需要這樣的號碼。爲什麼這樣一個模糊的驗證「如果這樣的帖子一般存在」,而你自己可以通過請求它自己來檢查這個帖子的存在?更何況,你會需要它的內容嗎?