Где ошибка в htaccess?

Здравствуйте! Прописал в htaccess редиректы. Убрал .php в конце адреса, в случае открытия страницы с .php на конце - редирект на страницу без .php, аналогично с www. Но вот со слешем на конце проблема. Хочу его убрать, а получается что если открыть страницу со слешем в адресе, браузер выдаёт следующее: Страница недоступна Сайт выполнил переадресацию слишком много раз. В самой адресной строке вижу такой адрес: www.site.ru/page/.php, если страницу обновить, адрес сменится на такой: http://www.site.ru/page(здесь в конце слеш, тостер почему-то удаляет) и так по кругу. В чем ошибка?

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} " /(index\.php|([^?]*)\.php)"
RewriteRule ^ http://www.site.ru/%2 [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ http://www.site.ru/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
  • Вопрос задан
  • 210 просмотров
Решения вопроса 1
@dodo512
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{THE_REQUEST} " /(index\.php|([^?]*)\.php)"
RewriteRule ^ http://www.site.ru/%2 [R=301,L,NE]

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

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

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
Просто убрать слеш не лучшая идея иногда он должен быть закрыт а главное эти два правила работают вместе
https://klondike-studio.ru/standards/standartnyy-h...
Тут я описал более подробно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы