I want to temporarily redirect all requests for a site to
index.html, using Apache only. Is this mod_rewrite approach going to work, and is it the right way to do it?
RewriteEngine on RewriteRule ^.*$ /index.html [R]
Webmasters Stack Exchange is a question and answer site for pro webmasters. It only takes a minute to sign up.Sign up to join this community
You need to use something like this I think:
RewriteRule !^/index.html$ /index.html [R=302]
Like pritaeas noted, you should use the 302 code to specify that the move is temporary. And you want to match everything but
/index.html, otherwise you'll send the browser on an infinite redirect loop.
Also, if you have any images, stylesheets, JS files, or other resources that are in the same directory or subdirectory, you need to also make exceptions for those or turn the rewrite engine off in those directories.