Как отключить перезапись CakePHP для одной папки, чтобы ее можно было использовать в качестве места для второго приложения? - PullRequest
5 голосов
/ 25 июня 2009

У меня есть установка CakePHP в корне моего домена. Теперь оказывается, что мне нужно поместить другое приложение, которое будет находиться в подкаталоге. Как отключить перенаправление контроллера / модели в торт только для этого каталога?

Текущий .htaccess в корневой папке выглядит так:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

Я пытался изменить его так, но безрезультатно:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^bildbank$ /bildbank/ [L]
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

Я знаю, что это немного взломано, но я никак не могу заставить второе приложение хорошо играть с тортом.

Ответы [ 2 ]

12 голосов
/ 03 декабря 2010

Ответ Дейзел не сработал для меня, но размещение следующего RewriteRule над двумя правилами CakePHP сработало:

RewriteRule ^bildbank - [L]
4 голосов
/ 25 июня 2009

Следующее правило переписывает www.example.com и www.example.com/ на www.example.com/app/webroot/

RewriteRule    ^$ app/webroot/    [L]

Это правило переписывает www.example.com/* на www.example.com/app/webroot/*

.
RewriteRule    (.*) app/webroot/$1 [L]

Я бы выбросил ваше правило и обновил регулярное выражение в последнем правиле (.*), чтобы оно совпадало с любой строкой, которая не начинается с bildbank. Нечто подобное может сработать:

RewriteRule    ((?!bildbank).*) app/webroot/$1 [L]

Это преобразует следующие строки:

cake
cake.htm
cake/test
bilder
bilder.htm
bilder/test
bildbank
bildbank.htm
bildbank/test

.. в:

app/webroot/cake
app/webroot/cake.htm
app/webroot/cake/test
app/webroot/bilder
app/webroot/bilder.htm
app/webroot/bilder/test
bildbank
bildbank.htm
bildbank/test

.. следовательно, исключая ваш подкаталог bildbank.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...