我必须在子目录中的共享主机上部署我的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文件吗?
答案 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*');
您可能需要稍微使用这些路线才能使其正常工作。 祝你好运。