Привожу упрощённый вариант содержимого файла .htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^(administrator|pma|stat)/?$ $1/index\.php [L]
RewriteRule ^(\w+)/?$ index\.php\?view=$1 [L]
RewriteRule ^(\w+)/[\w\-']*\-(\d+)\.html/?$ index\.php\?view=$1&id=$2 [L]
RewriteRule .* - [F,L]
Задумка была такая:
1 попадающие под правила URL-ы преобразовать, и первое соответствие правилу должно стать единственным, как я думал флаг L должен вести себя именно так;
2 а все запросы, для которых не подошло ни одно из правил, заблокировать.
В документации к mod_rewrite сказано, что флаг L должен прекратить разбор правил если текущее правило удовлетворяет условию. Но этого не происходит. Данный код блокирует абсолютно все запросы, даже если они попадают под правила, расположенные выше.
http://ew/administrator
http://ew/dir
http://ew/list/List-1-1.html
Почему так получается?
Я не правильно понял документацию, или его нужно как-то на сервере настроить или что то я сделал не верно?