Итак, я работаю над системой сжатия CSS/JS для сайта, которая имеет в основном следующий htaccess
RewriteEngine On
...
RewriteRule ^css/images/(.*)$ images/site/$1?%{QUERY_STRING} [L]
RewriteRule ^css/([0-9a-fA-F]{32})$ assets.php?hash=$1 [L]
RewriteCond %{HTTP_HOST} ^www.site.com [NC]
RewriteRule ^(.*)$ http://site.com/$1 [L,R=301]
RewriteRule ^([a-zA-Z0-9_.-]+)$ index.php?url=$1&%{QUERY_STRING} [L]
php_flag register_globals off
php_flag magic_quotes_gpc off
php_flag register_long_arrays off
# 404 Handler
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1&%{QUERY_STRING}
В настоящий момент asset.php не получает хеш-вызов, а скорее index.php - если я удалю строку RewriteRule ^([a-zA-Z0-9_.-]+)$ index.php?url=$1&%{QUERY_STRING} [L]
он работает нормально, но я не знаю, почему - не должен ли флаг [L] в активах переписывать RewriteRule ^css/([0-9a-fA-F]{32})$ assets.php?hash=$1 [L]
предотвращать выполнение каких-либо дальнейших перезаписаний? Я смущен тем, что происходит здесь.
Любой свет, который вы могли бы пролить на это, будет высоко оценен.