views:

62

answers:

2

Hi guys,

I've been trying to do the following with mod_rewrite

  1. on the server there is a file about.htm (which is found in the root directory of the domain)
  2. I need to redirect about.htm to about/
  3. On the server still keep about.htm, hence when about/ is called, it actually loads up about.htm

I tried something like this:

RewriteRule ^about/$       about.htm [L]
RewriteRule ^about\.htm$   about/    [R=302]

I also tried changing it a bit and see what happends, but I always end up with an infinite loop of redirection or a 500 server error.

Any idea why it's not working as intended?

Thanks in advance!

A: 

Only this line should do the work.

RewriteRule ^about\.htm$   http://yourdomain.com/about/    [R=302]
Michael
doesn't /about/ need to be actually present on the server with this then? or not?
ninuhadida
well, as long as you said >> I need to redirect about.htm to about/presumably about/ exists on server.However, about.htm may not even exist.
Michael
+1  A: 

You need to test the path in the request line:

RewriteRule ^about/$       about.htm [L]
RewriteCond %{THE_REQUEST} ^GET\ /about\.htm
RewriteRule ^about\.htm$   about/    [R=302]
Gumbo
thanks man! exactly what I needed :)
ninuhadida