Почему не работает RewriteRule?

Есть ссылка https://site.ru/network , по задумке я ожидаю что произойдет перенаправление (которое не будет видно в адресной строке) на адрес https://site.ru/index.php?action=network . Но этого почему то не происходит, вместо этого сервер отдает ошибку "Not Found". Что не так с моим файлом .htaccess ?
RewriteEngine On  
RewriteBase / 
Options +FollowSymlinks 
AddDefaultCharset UTF-8

RewriteRule ^(.*)$ index.php?action=$1 [QSA]
  • Вопрос задан
  • 40 просмотров
Решения вопроса 1
@dodo512
Обработка файлов .htaccess отключена и содержимое просто игнорируется.
Включить можно добавлением AllowOverride All в настройках VirtualHost.

RewriteRule ^(.*)$ /index.php?action=$1 [QSA]

В таком виде будет зацикливание и ошибка 500.
Исключить циклическое перенаправление можно так:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?action=$1 [QSA,L]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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