.htaccess выдает ошибку рекурсии по всему - PullRequest
1 голос
/ 02 октября 2010

Я пытаюсь перенаправить весь трафик через index.php.

Вот мой файл .htaccess:

RewriteEngine On

RewriteRule ^(.*)$ /index.php?ref=$1 [NC,L]

Я всегда получаю ошибки HTTP 500 и проверяюerror.log и я вижу, что это внутренняя ошибка рекурсии.Кто-нибудь может мне с этим помочь?Спасибо.

1 Ответ

3 голосов
/ 02 октября 2010

Не совсем уверен, является ли это каноническим способом сделать это, но добавление условия, подобного этому, будет работать:

RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ /index.php?ref=$1 [QSA]

(QSA для добавления любых строк запроса.)

Однако я бы рекомендовал дополнительно

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

, чтобы предотвратить отправку статических ресурсов через ваш index.php (если это не действительно то, что вы хотите.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...