Put Your Website in Maintenance Mode With .htaccess

Sooner or later you’ll probably run into a case where you need to put up a “maintenance mode” page while working on the site (e.g. while moving a site to a different server). What’s the best way of doing that? First you create a small, static HTML page that will appear to your visitors, then you put this at the top of your .htaccess file:

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

If you still need to be able to access the live site while you perform the maintenance, you can add a condition permitting requests from your IP address. This line should be placed after the RewriteBase / line:

RewriteCond %{REMOTE_ADDR} !^00\.000\.000\.000

Be sure to replace the zeros in 00\.000\.000\.000 with the digits from your own IP address, which you can find by visiting WhatIsMyIP.com.