В приложении, которое в значительной степени зависит от .htaccess
RewriteRules для его PrettyURL (в моем случае CakePHP), как правильно настроить директивы для исключения определенных каталогов из этой перезаписи? То есть:
/appRoot/.htaccess
app/
static/
По умолчанию каждый запрос к /appRoot/*
переписывается для получения app/webroot/index.php
, где он анализируется и вызываются соответствующие действия контроллера. Это делается с помощью этих директив в .htaccess
:
RewriteBase /appRoot
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
Теперь я хочу исключить несколько каталогов, таких как static /, из этого переписывания. Я пытался с этим до Cake RewriteRules:
RewriteCond $1 ^(static|otherDir).*$ [NC]
RewriteRule (.*) - [L]
Пока все работает, запросы больше не переписываются, но теперь пропускаются все запросы, даже допустимые запросы Cake, которые не должны совпадать с ^(static|otherDir).*$
.
Я попробовал несколько вариантов этих правил, но не могу заставить его работать так, как я хочу.