Настройка .htcaccess. Подскажите как сделать?

mrbot mrbot   13.02.2018 17:18   296  
Добрый вечер. Ситуация такая. Имеется такой нынешний .htcaccess у сайта :

Options -Indexes
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . index.php [L]
ErrorDocument 404 /404.html
</IfModule>  
<Files ~ "\.(tpl)$"> Order allow,deny
Deny from all
</Files>  

  Мне необходимо:
 1) Настроить редиректы, чтобы все страницы БЕЗ слеша редиректились на страницы СО слешем. Потому что сейчас имеются множество дублей доступных со слешем и без;
2) Настроить редирект с index.php на главную.

Вчера, ничего не удаляя, добавлял такой код для редиректа слешей:
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]

    Все работало отлично, НО по каким то причинам по адресу сайт/robots.txt выдавало 404 ошибку,т.е. роботс почему-то перестал быть доступен. С index.php настраивал редирект, но не срабатывало. Каким образом можно сделать так, чтобы ничего не сломать, роботс был доступен,и редиректы работали? Буду очень благодарен за информацию.
0
Ответы на вопрос (2) Написать ответ
thebestmen2007
0
thebestmen2007   13.02.2018 17:58
мне кажется это из-за этой строки RewriteCond %{REQUEST_URI} !\.
MrBest
1
MrBest   13.02.2018 18:51
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule .* / [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.site.ru/$1/ [L,R=301]

Войдите, чтобы написать ответ
Вход Регистрация



Теперь каждый посетитель вашего сайта сможет вам позвонить! Увеличение продаж на 75% от pozvonim.com - проверено!