2010-11-24 2 views
1

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

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

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

myproject.local.com 

, что файловая система является /var/www/myproject/

и там есть CakePHP

так

/app 
/app/webroot etc 

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

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

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

Любые идеи?

Возможно изменение только файлов htaccess в подпапке /, вложенной папке/приложении /, вложенной папке/приложении/веброте с помощью RewriteBase?

ответ

6

Вы можете установить всю установку cakephp в подпапку. Если ваш сервер позволяет .htaccess должен быть переопределен затем добавить это в .htaccess в/подпапке/поможет

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

Но это оставляет приложение и торт папки, доступные на веб .. NotGood (TM)

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

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

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

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

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

+0

это работает (первое решение)! – apelliciari 2011-02-09 15:27:12