2015-09-25 40 views
3

htaccess爲apache服務器導致我的所有IIS服務器都將停機維護。我需要將所有內容重定向到錯誤503自定義頁面,並返回503錯誤,但我不知道正確的溶劑。重定向除了一個頁面以外的所有錯誤503自定義頁面

RewriteEngine on 
RewriteBase/

ErrorDocument 503 /503.html 

RewriteRule ^.*$ - [L,NC,R=503] 

這一結果爲這樣的:(迴應是我的自定義響應)

Service Unavailable 

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. 

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request. 

闖闖:

RewriteEngine on 
RewriteBase/

ErrorDocument 503 /503.html 

RewriteRule ^(?!503.html)$ - [L,NC,R=503] 

給我什麼,我需要,但只是www.domain。 COM和其他頁面給我404(除了www.domain.com/503.html給我200)。

所以我需要的是重定向每一頁,但domain.com/503.html自定義503錯誤頁面,也返回錯誤代碼。

回答

1

您可以使用否定:

RewriteEngine on 

ErrorDocument 503 /503.html 

RewriteRule !^503\.html$ - [L,NC,R=503] 
1

您在第二個規則集中使用了兩個錨點。這會是這麼簡單:

RewriteEngine on 
RewriteBase/

ErrorDocument 503 /503.html 

RewriteRule ^(?!503.html).* - [R=503,L,NC] 
+0

感謝,這工作太 – Dracke

相關問題