CakePHP webroot应该来自apache配置的哪里?
我注意到在cakePHP文件夹的根目录下,CakePHP webroot应该来自apache配置的哪里?,php,apache,cakephp,Php,Apache,Cakephp,我注意到在cakePHP文件夹的根目录下,app/和app/webroot下都有一个index.php文件 我的理解是apache配置应该指向app/webroot作为站点根,否则我可能会暴露我的代码和其他敏感数据(数据库连接凭据等)。在我的测试环境中,我曾经将它指向cakePHP文件夹的根文件夹,它按预期工作,我成功地完成了博客教程 然后我意识到我可能犯了一个错误,我将apache指向app/webroot,它仍然可以正常工作 如果是这样的话,为什么cakePHP不通过没有多个index.ph
app/
和app/webroot
下都有一个index.php
文件
我的理解是apache配置应该指向app/webroot
作为站点根,否则我可能会暴露我的代码和其他敏感数据(数据库连接凭据等)。在我的测试环境中,我曾经将它指向cakePHP文件夹的根文件夹,它按预期工作,我成功地完成了博客
教程
然后我意识到我可能犯了一个错误,我将apache指向app/webroot
,它仍然可以正常工作
如果是这样的话,为什么cakePHP不通过没有多个index.php
文件并明确指出站点的根位置应该指向app/webroot
来更清楚地说明这一点
如果是这样的话,cakePHP还有什么不让它变得更清楚的呢
拥有多个index.php文件,并清楚地说明网站的
根目录位置应指向app/webroot
猜测,因为它被认为是新手友好,但这很容易配置错误,并向公众公开整个应用程序,这不是一个好主意
看
但是,是的,我在某种程度上同意,这可能更清楚一点原因。
您应该始终使用webroot文件夹,并且除了您的应用程序tmp文件夹外,您系统的Web服务器用户不应写入任何内容。对于某些托管提供商,不可能将任何内容放在“public\u html”下。在这些情况下,CakePHP在root、app和webroot目录中提供index.php和.htaccess。这是为了让它在几个不同的托管环境中工作,而用户无需更改任何内容 如果可能的话,您应该只公开webroot目录,这非常清楚: