CakePHP 1.3 установить в подкаталог - PullRequest
1 голос
/ 25 ноября 2010

Мне нужно развернуть мою стандартную установку cakephp 1.3 на общем хосте в подкаталоге.

Другие ответы на подобные вопросы у меня не сработали.

На локальном хосте у меня есть виртуальное хостовое пространство типа

.
myproject.local.com

это в файловой системе /var/www/myproject/

и там есть торт

так

/app
/app/webroot etc

У меня включен mod_rewrite.

Если я хочу с тем же виртуальным хостом поместить мое приложение cakephp под /subfolder/ и получить к нему доступ как myproject.local.com/subfolder/, что мне делать?

Помните, что я не могу получить доступ к файлам конфигурации Apache и ничего не могу поместить в root.

Есть идеи?

Можно изменить только файлы htaccess в подпапке /, подпапке / app /, подпапке / app / webroot с помощью RewriteBase?

1 Ответ

6 голосов
/ 25 ноября 2010

Вы можете поместить всю установку CakePHP в подпапку. Если ваш сервер допускает переопределение .htaccess, то добавление этого в .htaccess в / subfolder / поможет

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

Но это оставляет доступ к вашим папкам приложений и тортов из Интернета. NotGood (TM)

Еще один способ, который я еще не опробовал, но думаю, сработает, это скопировать только файлы из webroot в / subfolder /, а затем отредактировать index.php, чтобы определить расположение библиотек тортов

define('APP_DIR', './app');
define('CAKE_CORE_INCLUDE_PATH', '/path/to/cake_1.3');

Затем отредактируйте route.php, чтобы добавить собственный маршрут, который учитывает подпапку

Router::connect('/subfolder/:controller/:action*');

Возможно, вам придется немного поиграть с маршрутами, чтобы это заработало. Удачи.

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