2011-10-14 20 views
8

मैं सभी यूआरएल को अस्थायी पृष्ठ पर रीडायरेक्ट करने के लिए एक नियम लिखने की कोशिश कर रहा हूं ताकि कुछ साइट अपडेट किया जा सके, लेकिन यह एक अनंत लूप में समाप्त हो जाता है।रखरखाव पृष्ठ पर अस्थायी रीडायरेक्ट

RewriteCond %{HTTP_HOST} ^(.*)mysite\.com$ 
    RewriteCond %{REQUEST_URI} !^(.*)temp$ 
    RewriteRule ^(.*)$ http://www.mysite.com/temp [R=307,L] 

अगर यह एक अस्थायी पृष्ठ है कैसे जाँच करने के लिए?

उत्तर

10

आपको रखरखाव फ़ाइल को छोड़कर सभी अनुरोधों के लिए नियम लिखना होगा।

.htaccess होना चाहिए:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !^/maintenance\.html$ 
RewriteRule ^(.*)$ http://domain.com/maintenance.html [R=307,L] 
1

मैं क्या जब यह मेरे आईपी से नहीं आ रही है एक maintenance.html पृष्ठ पर सभी यातायात पुनर्निर्देशित करना होता है।

पहली पुनर्लेखन स्थिति एक अनंत लूप से बचाती है।

RewriteCond %{REQUEST_URI} !/maintenance.html$ 
RewriteCond %{REMOTE_ADDR} !^172\.16\.254\.1$ 
RewriteRule $ /maintenance.html [R=302,L] 
1

यह काम करता है, मैं इसे करने की कोशिश की। यह सभी अनुरोधों को एक रखरखाव पृष्ठ पर रीडायरेक्ट करेगा।

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000 
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] 
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] 
RewriteRule .* /maintenance.html [R=302,L] 
</IfModule> 
संबंधित मुद्दे