Как исключить каталог из CakePHP Routing:
Я столкнулся с той же проблемой, что и вы. Я боролся, но наконец нашел то, что сработало.
(я отвечаю, потому что ответ выше не сработал для меня, но это сработало).
Моя структура каталогов:
root/public_html/app/
root/public_html/lib/
root/public_html/plugins/
root/public_html/vendors/
root/public_html/directory_to_exclude/
Что я добавил к стандартной маршрутизации CakePHP:
RewriteCond %{REQUEST_URI} !^/directory_to_exclude/(.*)
По сути, мне нужно было разрешить людям получать отдельный доступ к подпапке (поскольку у нее есть отдельное приложение). Кроме того, в моем случае я по умолчанию обслуживаю приложение CakePHP из корневого каталога.
Итак, вот как выглядит мой CakePHP 2.x htaccess:
Обновлен .Htaccess (это работает для меня)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/directory_to_exclude/(.*)
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
В вашем случае, я понимаю, вам нужно это для работы в подпапке; вот мой скорректированный htaccess, у меня не было возможности проверить это, но я верю, что это (или что-то близкое) будет работать:
Конечный продукт (для подпапки)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/subfolder/directory_to_exclude/(.*)
RewriteRule ^$ subfolder/app/webroot/ [L]
RewriteRule (.*) subfolder/app/webroot/$1 [L]
</IfModule>