Matt
Matt

Reputation: 11

.htaccess main page

I'm trying to redirect any non-existing URL back to its main page.

Below is my .htaccess code:

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

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?example\.com$ [NC]
RewriteRule (.*) http://www.example.com/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.+?)/$ /$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]

Upvotes: 0

Views: 89

Answers (1)

Croises
Croises

Reputation: 18671

Add that:

RewriteRule ^([^.]+\.[^/.]{3,4})/.* $1 [R=301,L]

And no need to use more than one RewriteEngine on for all the .htaccess.

Upvotes: 1

Related Questions