Link to home
Start Free TrialLog in
Avatar of Mick_Eden
Mick_Eden

asked on

Problem with .htaccess

Hello Experts
I'm a bit stuck with my .htaccess syntax on one of my websites.

Basically I want to redirect 301 any request for index.php to www.allstretchedout.co.uk. I already have several 301 redirects on the file and rewrite non www to www etc but if I add
 
Redirect 301 /index.php http://www.allstretchedout.co.uk/

Open in new window

to the file it causes the Apache test page to show. I've reproduced the .htaccess file below:
 
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^allstretchedout.co.uk [nc]
rewriterule ^(.*)$ http://www.allstretchedout.co.uk/$1 [r=301,nc]



Redirect 301 /booking.php http://www.allstretchedout.co.uk/bookings.php
Redirect 301 /aboutus.html http://www.allstretchedout.co.uk/about-us.php
Redirect 301 /aboutusrentals.html http://www.allstretchedout.co.uk/about-us.php
Redirect 301 /phantom.html http://www.allstretchedout.co.uk/rolls-royce-phantom.php
Redirect 301 /mardigras.html http://www.allstretchedout.co.uk/mardi-gras.php
Redirect 301 /hellfire.html http://www.allstretchedout.co.uk/hellfire.php
Redirect 301 /hellraiser.html http://www.allstretchedout.co.uk/hellfire.php
Redirect 301 /rangerover.html http://www.allstretchedout.co.uk/view-cars.php
Redirect 301 /pinkminx.html http://www.allstretchedout.co.uk/pink-minx.php
Redirect 301 /rentals.html http://www.allstretchedout.co.uk/view-cars.php
Redirect 301 /bentley.html http://www.allstretchedout.co.uk/bentley-arnage-t.php
Redirect 301 /stargazer.html http://www.allstretchedout.co.uk/stargazer.php
Redirect 301 /inferno.html http://www.allstretchedout.co.uk/inferno.php
Redirect 301 /attitude.html http://www.allstretchedout.co.uk/attitude.php
Redirect 301 /mercedes.html http://www.allstretchedout.co.uk/view-cars.php
Redirect 301 /pink_panther.htm http://www.allstretchedout.co.uk/pink-panther.php
Redirect 301 /pinkminxvideo.html http://www.allstretchedout.co.uk/pink-minx.php
Redirect 301 /contact.html http://www.allstretchedout.co.uk/contact-us.php
Redirect 301 /stargazervideo.html http://www.allstretchedout.co.uk/stargazer.php
Redirect 301 /attitudevideo.html http://www.allstretchedout.co.uk/atttitude.php
Redirect 301 /hellraiservideo.html http://www.allstretchedout.co.uk/hellfire.php
Redirect 301 /mardigrasvideo.html http://www.allstretchedout.co.uk/mardi-gras.php
Redirect 301 /bentley-arnage.html http://www.allstretchedout.co.uk/bentley-arnage-t.php
Redirect 301 /tuxedo-royale.html http://www.allstretchedout.co.uk/bookings.php
Redirect 301 /booking.php http://www.allstretchedout.co.uk/view-cars.php
Redirect 301 /platinum-plaza.html http://www.allstretchedout.co.uk/platinum-plaza.php


AddType text/x-component .htc


php_flag magic_quotes_gpc off

Open in new window

Any help would be most appreciated.

Thanks in advance.
Avatar of jeremycrussell
jeremycrussell
Flag of United States of America image

You get the Apache "Test Page", are you meaning the default index.html that comes with an Apache Install?

Do you have your DirectoryIndex configured to use index.php?  I.E.

DirectoryIndex index.php
Avatar of Mick_Eden
Mick_Eden

ASKER

this is the page I see:

 User generated image
I'm not sure about the rest of your question regarding DirectoryIndex - it is on a shared hosting package  if that has any bearing?

Ok, well add

DirectoryIndex index.php

to your .htaccess, and see if that solves your issue.
No, that made no difference, it still went to the Apache page
Instead of doing a redirect 302, try an internal RewriteRule.

I'm assuming that for some reason, the "host:" header is being ripped out of the request, so you getting sent to another site being hosted on the systems yours is hosted on.

try:

 RewriteRule ^/index.php$ http://www.allstretchedout.co.uk/ [NC]

effectively the same thing, but perhaps it will better preserve the host header information.
I've tried this, but while it doesn't cause the Apache issue, it doesn't actually strip the index.php from the url. If you go to the site the home page shows without the index.php ext, but if I click on any link to take me back to the homepage it does show index.php in the url, which for search engine reasons I want to avoid
maybe need a permanent redirect?

RewriteRule ^/index.php$ http://www.allstretchedout.co.uk/ [NC,R=302]
Afraid it's no different with a 302
Just throwing out suggestions... I see a redirect loop happening at some point...

RewriteRule ^/index.php$ http://www.allstretchedout.co.uk/ [L,R=301]
Nope, still no effect
ASKER CERTIFIED SOLUTION
Avatar of jeremycrussell
jeremycrussell
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Nope, still no effect.

I think I'll just accept that it's not going to work - it's not that big a deal really.

Thanks for your help and I'll give you the points anyway.
One thing you might try to do is configure links on the other pages to point back the / instead of /index.php.

I apologize for not being able to find you a solution.
No problem, I tried changing the link to just the / but it still goes to index.php. I did try putting an absolute url http://www.allstretchedout.co.uk as the link and this does work but I am concerned that search engines will not like that method.