Почему флаг [L] не работает в моем файле .htaccess? - PullRequest
1 голос
/ 11 мая 2010

Вот правила:

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteRule ^$ index.php?action=home [L]
RewriteRule ^[\w\W]*$ error.php [L]

Когда страница соответствует первой, она должна игнорировать любые другие дополнительные правила. Однако при доступе к / вызывается error.php. Закомментирование второго правила работает как задумано - страница перенаправляется на index.php.

Что я делаю не так?

Также: есть ли лучший способ написать последнюю строку? Это в основном всеохватывающее.

Ответы [ 2 ]

3 голосов
/ 11 мая 2010

Вы можете изменить

^[\w\W]*$ до ^[\w\W]+$ или ^.+$

0 голосов
/ 11 мая 2010

Если последняя строка универсальна, просто наберите RewriteRule ^.*$ error.php [L]

Возможно, в первой строке произошла ошибка при отправке запроса на /, поскольку ваше правило говорит «ничего», а вы отправляете /.

Попробуйте изменить правило на RewriteRule ^/$ index.php?action=home [L]

...