2009-10-26 27 views
4

我有一些情況,有些用戶可能會錯誤地輸入網頁,從鏈接等。在大多數情況下,我可以確定應該顯示的正確頁面,所以我想重定向到正確的URL。是「404重定向」合法重定向嗎?

在這種情況下是301重定向。 301的意思是「永久移動」,但在這種情況下,文檔並不在首位。設置404 Not Found標頭是否合法,然後重定向到正確的URL?

回答

3

我會使用301.永久移動是適當的,因爲它告訴訪問頁面不存在,永遠不會。如果有人鏈接到該頁面,他們就會知道他們應該更新鏈接。

+3

你不知道那個特定的URL永遠不會有一個頁面。 – ty812 2009-10-26 18:28:59

+0

是的。儘管在很多情況下,你可以做出一個很好的猜測。我不會那麼擔心。 – Carlos 2009-10-26 19:09:03

+0

我的情況與Stack Overflow類似,只有部分URL實際定義了內容。因此,輸入錯誤的頁面將不會存在。 – DisgruntledGoat 2009-10-26 20:41:45

0

您無法使用404文檔重定向。也許只是顯示一個404頁面並建議一些正確的URL。 404意味着錯誤。我知道谷歌會不高興看到這些鏈接。 :)

+1

其實你可以。 HTTP狀態標題與位置標題不同,因此您可以用404標題+新的URL替換它。這並不意味着這是個好主意,這就是問題所在。 – DisgruntledGoat 2009-10-26 20:35:44

0

你只能迴應一次http請求 - 你不能發送一個404,然後發送一個301.所以你堅持301,我想。

0

要麼使用301並做重定向,要麼使用404,並沿着「我認爲你的意思是'這個URL''而不是'更新你的書籤'(並且不要重定向)行顯示消息。

10

小心301,因爲它意味着「永久」,例如,即使您將來使用該網址,搜索引擎也可能會忽略它 - 因爲他們「知道」該特定網址的內容已被「永久移動」。

如果您想要重定向或使用303 See Other或更好地顯示404以及鏈接到首選內容的友好錯誤消息。

2

301當你合理地確信你知道URL應該是什麼時,301是完全合適的。這是瀏覽器和搜索引擎優化的最佳解決方案,當面對中斷的傳入鏈接時。

但是3xx不適合作爲一般的頁面未找到響應。有些網站總是讓你/而不是返回404,但這是一件非常糟糕的事情,可以輕鬆地打破東西。

1

我知道一個404可以包含一個重定向頭,但這聽起來對我來說真的很糟糕。

4

我認爲把用戶帶到「你的意思」類型的頁面將是我的首選。如果您對「您的意思」內容沒有任何建議,請爲它們提供一個真實的錯誤頁面和404錯誤頁面。否則,將頁面保留爲狀態200並讓用戶點擊。

我傾向於使用301s來重定向以前已知和已建立的由於某種原因已更改的URL。我擔心自動重定向方法的原因是您的檢測算法存在缺陷,可能會對SEO產生負面影響。