如何在CakePHP中更改webroot的位置?

时间:2011-01-14 20:15:32

标签: cakephp

有没有办法让webroot文件夹保持在实际根目录?

解释:我该怎么做才能实现这样的文件夹结构:

app/
cake/
css/
files/
img/
js/
plugins/
vendors/

随着一切正常运转。

2 个答案:

答案 0 :(得分:5)

错误地将您的代码公开

/project/
/project/app/ 
...
/project/css/
/project/js/
...

但是,如果您仍想将/project/设置为您的webroot,请将其放入.htaccess文件

// /project/.htaccess
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app/webroot/index.php?url=$1 [QSA,L]
</IfModule>

建议:您应该坚持使用CakePHP的默认目录结构,因为它是经过验证的安全和最佳做法,可用于执行大多数类型的应用程序。

答案 1 :(得分:1)

据我所知,您希望简化工作流程,并对您经常使用的目录进行顶级访问。但是,将主源代码放在Web根目录中是不明智的。

您可以使用symlinks链接到静态文件夹(cssimgjs等)。