.htaccess - 301 перенаправить все файлы без расширения, чтобы иметь расширение .html - PullRequest
5 голосов
/ 02 декабря 2010

Мне нужно 301 перенаправить запросы к файлам без расширения с таким же расширением .html:

http://www.mydomain.com/this

до

http://www.mydomain.com/this.html

Следующее не будет перенаправлено:

http://www.mydomain.com/that/ (it's a directory)
http://www.mydomain.com/other.php

Любая помощь оценивается выше, спасибо.

1 Ответ

5 голосов
/ 02 декабря 2010

Попробуйте следующее.Я бы поместил его в качестве последнего правила в вашем наборе (то есть внизу), чтобы он не конфликтовал с какими-либо другими правилами.

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

Это должно гарантировать, что запрос не является каталогом, и это не заканчивается какое-то расширение .Если эти условия соблюдены, запрос будет добавлен с .html.

. Это не проверено, поэтому прокомментируйте, если это работает.;)

...