Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

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]

Thanks.

share|improve this question
1  
I think you should use [R=302] to specify it is temporary. –  pritaeas Jan 24 '11 at 16:02

1 Answer 1

up vote 1 down vote accepted

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.

share|improve this answer
    
Thanks, that's really helpful. –  jaybee Jan 28 '11 at 18:40

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.