Posted By

macodev on 04/21/11


Tagged

htaccess rewrite


Versions (?)

.htaccess Site Down For Maintenance


 / Published in: Apache
 

URL: http://davidwalsh.name/htaccess-maintenance-page-redirect

Site Down For Maintenance

  1. I recently needed to move one website from a shared web host to our internal server. After some discussion, we decided to simply add a "Site Down For Maintenance" page to the site to prevent users from submitting orders during the hosting change. Using the following .htaccess code snippet, we were able to send all users to a maintenance.html page no matter which page they requested:
  2.  
  3. RewriteEngine On
  4. RewriteBase /
  5. RewriteCond %{REQUEST_URI} !^maintenance\.html$
  6. RewriteRule ^(.*)$ http://domain.com/maintenance.html [R=307,L]
  7.  
  8. ***
  9.  
  10. Once we posted the maintenance.html page and .htaccess code on both the old hosting environment AND new hosting environment, we switched the DNS settings. Before making the switch, we had ported the website's code to a "utility" domain and made adjustments so that the website would function well in the new hosting environment. Now that the DNS had been changed, we wanted to make sure that the website would function well on the new domain within the new hosting environment. Unfortunately the code above blocks EVERYONE from accessing any file besides the maintenance.html file. Fortunately my gifted IT team had the answer:
  11.  
  12. RewriteEngine On
  13. RewriteBase /
  14. RewriteCond %{REMOTE_ADDR} !^11\.111\.111\.111
  15. RewriteCond %{REQUEST_URI} !^/maintenance\.html$
  16. RewriteRule ^(.*)$ http://domain.com/maintenance.html [R=307,L]

Report this snippet  

You need to login to post a comment.