CakePHP 1.3安装在子目录中

时间:2010-11-24 21:10:38

标签: .htaccess deployment cakephp install subdirectory

我必须在子目录中的共享主机上部署我的cakephp 1.3标准安装。

类似问题的其他答案对我不起作用。

在localhost上,我将我的开发空间作为虚拟主机,如

myproject.local.com

文件系统上的/var/www/myproject/

那里有cakephp

所以

/app
/app/webroot etc

我启用了mod_rewrite。

如果我想,使用相同的虚拟主机,将我的cakephp应用程序放在/subfolder/下,并以myproject.local.com/subfolder/访问它,我必须做什么?

请记住,我无法访问apache配置文件,我不能在root上放任何东西。

有什么想法吗?

可以使用RewriteBase仅修改子文件夹/,子文件夹/ app /,子文件夹/ app / webroot中的htaccess文件吗?

1 个答案:

答案 0 :(得分:6)

您可以将整个cakephp安装在子文件夹中。 如果您的服务器允许覆盖.htaccess,那么将其添加到/ subfolder /中的.htaccess将有助于

<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');

然后编辑routes.php以添加将子文件夹考虑在内的自定义路由

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

您可能需要稍微使用这些路线才能使其正常工作。 祝你好运。