2010-03-02 90 views

回答

5
Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{REQUEST_URI} !/holding_page.php$ 

RewriteRule $ /holding_page.php$l [R=307,L] 

使用307(感謝Piskvor!),而不是302 - 307 means

所請求的資源所在 暫時下一個不同的URI。 由於有時重定向可能會被修改爲 ,客戶端SHOULD 將繼續使用Request-URI來處理將來的請求。

+3

+1,但在這種情況下,我會使用臨時重定向:[R = 307,L] – Piskvor 2010-03-02 09:23:26

+0

@皮克沃爾 - 出色的建議,編輯於! – 2010-03-02 09:25:34

+0

這是給我一個內部服務器錯誤? – stef 2010-03-03 14:23:31

-3

這工作得更好......

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{REQUEST_URI} !/holding_page.php$ 
RewriteRule $ /holding_page.php [R=307,L] 
1

當我碰到這個問題來了,這裏是我使用的解決方案(在評論簡要說明):

RewriteEngine On 
RewriteBase/

# do not redirect when using your IP if necessary 
# edit to match your IP 
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1 

# do not redirect certain file types if necessary 
# edit to match the file types needed 
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css) 

# this holding page that will be shown while offline 
RewriteCond %{REQUEST_URI} !^/offline\.html$ 

# use 503 redirect code during the maintenance job 
RewriteRule ^(.*)$ /offline.html [R=503,L] 
ErrorDocument 503 /offline.html 

# bots should retry accessing your page after x seconds 
# edit to match your maintenance window 
Header always set Retry-After "3600" 

# disable caching 
Header Set Cache-Control "max-age=0, no-cache, no-store" 

除了附加條件和標題,主要想法是使用503狀態代碼當您正在執行維護工作。

503代碼代表Service Unavailable,在維護過程中就是這種情況。使用此功能也會對搜索引擎優化很有幫助,因爲漫遊器不會爲503網頁編制索引,而且它們會在指定的Retry-After後面再回來查找實際內容。

這裏瞭解更多詳細信息:

相關問題