@AlexanderFedosienko

Не понимаю почему не работает htaccess?

Сделал небольшой файл .htaccess,
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^[^www\.].*$ [NC]
RewriteRule ^/?([a-z0-9\-]+)/?$ /index.php?item=$1 [NC,L]

Делает редирект с www на без www и все что после домена отправляет в index.php?item=
Но есть один нюанс, там еще может быть указана точка, делаю вот так ^/?([a-z0-9\-\.]+)/?$
Но сервер выдает ошибку 500

Что может быть не так?
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
SagePtr
@SagePtr
Еда - это святое
При добавлении точки - index.php тоже попадает под правило и редирект бесконечен.
Во избежании этого обычно добавляют условие, запрещающее выполнять правило, если запрошенный файл реально существует:
RewriteCond %{REQUEST_FILENAME} !-f
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
Ваш ответ на вопрос

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

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