2011-07-20 51 views
3

延遲幾秒鐘做301重定向的最佳方式是什麼?我希望原始頁面顯示5-10秒,然後做301重定向到另一個站點。我在谷歌的PHP中發現了很多解決方案,但是我發現的唯一一個延遲沒有在重定向之前顯示原始頁面 - 只有一個空屏幕。執行延遲幾秒鐘的301重定向的最佳方法?

回答

5

你不能真正做一個真正的301重定向有延遲。 HTTP是無狀態的。對於「301重定向」,如果你想讓谷歌開心,這就是你想要的;客戶端發送一個請求,並且來自服務器的回覆中的狀態碼將爲301,同時作爲回覆的一部分,您將使用位置標題並指出新內容的位置。如果你沒有這麼做,那麼你不會做301重定向。

與其他答案,你在客戶端進行元刷新,谷歌不喜歡。

這就是你如何做301,用戶甚至根本沒有看到舊頁面,並可能不知道他們甚至已被重定向。

$location="http://www.yoursite.com/newpage"; 
header ('HTTP/1.1 301 Moved Permanently'); 
header ('Location: '.$location); 
+0

謝謝。在谷歌搜索一個解決方案,這是我已經有點思考。我想我現在必須延遲302分鐘,然後在幾周內大部分人都看到延遲屏幕時切換到301分鐘。 – oliverwhite

7
You're being redirected 
<META HTTP-EQUIV="refresh" CONTENT="5;URL=the-other-page.html"> 

或PHP

header('refresh: 5; url=/the-other-page.html'); 
echo 'You\'re being redirected'; 

這是更好的選擇第二種方案,但

+1

不要忘了添加'點擊這裏,如果你的網頁不刷新',一些恐慌的人禁用刷新,然後沒有簡單的方法知道他們應該去哪裏。 – Wrikken

+0

我添加了php解決方案,它可以隨時工作(我希望如此) – genesis

+0

@oliverwhite您應該傾向於服務器端重定向(示例#2)通過客戶端重定向。你應該添加一個HTTP狀態碼(301或302)來確定這是永久重定向還是臨時重定向。 – feeela

0

如果你不是編碼類型,但你要一個令人驚訝的多功能的免費工具,我贊同快速Pagepost重定向插件

https://wordpress.org/plugins/quick-pagepost-redirect-plugin/

In this case you want to use a meta redirect.

這個插件可以處理的WordPress重定向和meta重定向(如果您需要延遲)

它支持301,302,307和meta重定向。 您可以添加網址以避免404也是。

如果您正在升級網站和不斷變化的網頁網址,並希望保持搜索引擎優化排名,這是工具我的朋友使用(他是一個親)

這將做這一切 - 沒有編碼。

聲明:我不以任何方式與這些傢伙有關聯。