2015-04-22 165 views
0

我們最近從一個域遷移到另一個域。我們成功地將所有有效的網址重定向到新網站上的對應網址。但是,在舊域上有相當多的鏈接在新域中不存在。 (例如過期的頁面/鏈接,因此我們沒有遷移它們)htaccess重定向到死鏈接到404

例如,我們在舊域中創建了一個博客組件,它生成了很多動態鏈接,如/ blog/category/abc和/ blog /標籤/ XYZ。我們不再在新域中擁有這個博客組件。

使用htaccess,確保Google和其他SE正確知道這些頁面/鏈接不再存在的最佳方法是什麼?

回答

0

要發送的正確的http狀態碼是410 Gone代碼。引述RFC2616(重點煤礦):

請求的資源不再可用在服務器上,並沒有 轉發地址是已知的。這種情況預計爲 認爲是永久。具有鏈接編輯功能的客戶端 應在用戶批准後刪除對Request-URI的引用。如果 服務器不知道或無法確定是否或 不是該條件是永久性的,則應該使用狀態碼404(未找到)SHOULD 。除非另有說明 ,否則此響應可緩存。

+0

我很感謝反饋意見。我能否使用htaccess將符合條件的鏈接(例如/ blog/tag /)重定向到410錯誤?如果是這樣,那麼正確的重定向/重寫會是什麼? – user3010456

+0

您不會重定向(即使用301或302狀態碼將瀏覽器發送到頁面)以提供410狀態碼。你可以在mod_alias中使用'Redirect'或'RedirectMatch'指令,將'gone'作爲第一個參數。這實際上不會導致重定向發生,但會提供410狀態碼。查看http://serverfault.com/questions/104242/how-to-serve-410-from-apache-rather-than-a-404 – Sumurai8