Работа с .htaccess и правильное удаление дублей

S
На сайте с 11.01.2013
Offline
10
1091

Здравствуйте. Решил настроить файл .htaccess чтоб избавиться от дублей и привести все урлы к единому стилю, то есть убрать www, убрать отображение index.html на конце и сделать все ссылки со слешем на конце : http://site.ru - главная страница

http://site.ru/page/ - остальные страницы

Для того что бы убрать www в файле .htaccess прописал вот такую конструкцию:


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

для того чтоб убрать index.html такой код :


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://site.ru/$1 [R=301,L]

для того чтоб все url отображались со слешем на конце добавил вот эту конструкцию:


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

Теперь о проблемах которые появились.

1. при вводе в браузере http://site.ru/ слеш в конце пропадает

2. появились такие урлы http://site.ru/page.html/ и http://site.ru/image.jpg/ которых не существуют и меня перекидывает на страницу 404 ошибки.

3. урлы можно написать и http://site.ru/pagel/ и http://site.ru/pagel// можно сколько угодно слешей поставить ссылка будет работать

Вопрос. подскажите как настроить чтоб главная отображалась то же со слешем и как убрать слеши с урл такого вида http://site.ru/page.html/

нормально ли что в урл можно написать сколько угодно слешей на конце?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий