Stuart Pinfold
Stuart Pinfold

Reputation: 318

.htaccess not redirecting home page

Here is my .htaccess on a Linux system:

ErrorDocument 401 ./error/
ErrorDocument 403 ./error/

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$

RewriteRule ^(.*)$ http://www.website.co.uk/$1/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.website.co.uk/$1 [R=301,L]

Everything works as it should; www is added to non-www requests and a trailing slash is added. However when visiting www.website.com (which is added as a parked domain on cPanel) the user is NOT redirected to www.website.co.uk

If the visit website.com (note no www) then they ARE redirected.

What do I need to add/change in .htaccess?

Upvotes: 1

Views: 84

Answers (1)

anubhava
anubhava

Reputation: 786091

Have your rules like this:

ErrorDocument 401 ./error/
ErrorDocument 403 ./error/

RewriteEngine on
RewriteBase /

# if not www.website.co.uk then redirect to it
RewriteCond %{HTTP_HOST} !^www\.website\.co\.uk$ [NC]
RewriteRule ^(.*)$ http://www.website.co.uk/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ http://www.website.co.uk/$1/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [L,QSA]

Upvotes: 1

Related Questions