Добавление расширения файла через htaccess - PullRequest
0 голосов
/ 02 апреля 2012

Можно ли добавить .html к URL, которые не содержат расширение файла. Так например

mydomain.com / somepage будет направлять mydomain.com/somepage.html

Я попытался использовать следующее, но получил внутреннюю ошибку сервера.

RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ $1.html [NC,L]

Спасибо

1 Ответ

1 голос
/ 02 апреля 2012
RewriteEngine On
RewriteBase /

# add .html file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.+)$ $1.html [L]

Он будет перезаписан только в том случае, если такой файл с расширением .html существует (безопасная перезапись - решит проблему «максимальное количество внутренних перенаправлений достигнуто»).Другими словами: если запрошено /about и существует /about.html, оно будет переписано.С другой стороны, если запрошен /yeahbaby, но файл /yeahbaby.html не существует, тогда ничего не произойдет (обработчик 404 должен войти ... или любое другое правило, которое у вас там может быть).

...