Удаление Index.html

Рейтинг: 1Ответов: 1Опубликовано: 20.03.2015

Здравствуйте.

Нужна помощь по htaccess. Мне нужно удалить страницы, которые заканчиваются на index.html при помощи 301-го редиректа. Т.е. в итоге чтобы получилось:

http://domain.com/index.html => http://domain.com/

http://domain.com/some/index.html => http://domain.com/some/

У меня сейчас в htaccess следующее:

php_flag display_errors on
php_flag magic_quotes_gpc Off
php_flag register_globals Off
php_flag session.use_cookies on
php_flag session.use_trans_sid off
php_value default_charset "utf-8"

Options -Indexes

RewriteEngine On

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

RewriteRule ^$ /index.html [L,QSA]
RewriteRule ^(images/|uploads/|js/) - [L]
RewriteRule ^([a-zA-Z0-9_/\-%\ ]*)/$ /$1/index.html [QSA]
RewriteRule ^([a-zA-Z0-9_/\-%\ ]+)/{0}$ http://%{HTTP_HOST}/$1/ [R,L,QSA]
RewriteRule ^([a-zA-Z0-9_/\-%\ ]+)/{0}\.(html|php|js|xml|txt)$ index.php?mods=$1&ext=$2 [L,QSA]

ErrorDocument 404 /page_not_found.html

Те примеры, которые я находил в Сети, похоже, конфликтуют с тем, что у меня уже есть, а в этой теме я сильно плаваю и не могу понять, что не так.

Заранее спасибо!

Ответы

▲ 2
AddDefaultCharset utf-8
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
RewriteRule ^index.html$ / [QSA,R]