CAKEPHP-将默认路径更改为webroot


CAKEPHP - Change default path to webroot

我是cakephp的新手,在设置本地开发服务器时遇到了一些问题。我的蛋糕安装在http://localhost/dropbox/my_site/.然而,当我尝试访问该url时,它会告诉我没有设置dropbox控制器。如何告诉CakePHP在my_site而不是/localhost/中启动?

我已经尝试将connect(/localhost/dropbox/*)添加到路线中,但它似乎仍然在错误的位置查找模型。

我尝试在app/webroot中编辑index.php,但所有的例子都显示了如何用linux格式而不是windows格式编写目录,所以我不确定如何构建"ROOT"

CakePHP将在一个子目录中愉快地工作——我有几个Cake站点运行在http://localhost/{appname}在我的开发机器上。

Cake在根index.php文件中定义了它的ROOT目录。如果你往里面看,你会看到以下几行:

define('ROOT', dirname(__FILE__));
define('WEBROOT_DIR', 'webroot');
define('WWW_ROOT', ROOT . DS . APP_DIR . DS . WEBROOT_DIR . DS);

由于它从dirname(__FILE__)获取ROOT,因此它将始终指向该文件的位置。

我怀疑你的路由文件有问题。您是否创建了任何自定义路由规则来说明位于子目录中?如果你这样做了,你的蛋糕安装程序可能正在尝试访问http://localhost/dropbox/my_site/dropbox/...这就是为什么你会犯这个错误。

这可能与CakePHP没有太大关系,而与您的web服务器没有太多关系。

如果dropbox是您的文档根目录,则应在web服务器配置中相应地映射它。例如,在Apache中使用DocumentRoot