Я годами использовал простые правила mod_rewrite для своей CMS и сейчас делаю новую версию, я вижу, что rewriteCond не имеет смысла - у меня есть стандарт «если это не файл», но я все еще вижу, что rewriterules являются оценивается, хотя они не должны. Мой код перезаписи:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?page=$1
RewriteRule ^([^/]+)/([^/]+)$ index.php?page=$1&var=$2
Я загружаю / page / var, и он отлично работает как index.php? Page = page & var = var, но я пытаюсь загрузить /css/file.css, и он загружает index.php? Page = css & var = file.css даже хотя /css/file.css - это файл, поэтому весь раздел перезаписи не должен даже оцениваться.
Я никогда не видел, чтобы htaccess бросал вызов своей собственной логике, может кто-нибудь помочь мне понять это? Кто-нибудь сталкивался с чем-нибудь подобным?