我注意到cakePHP文件夹的根目录下有一个index.php
文件,位于app/
下,app/webroot
下。
我的理解是apache配置应该指向app/webroot
作为站点根目录,因为否则我可能会暴露我的代码和其他敏感数据(数据库连接凭据等)。在我的测试环境中,我曾经将它指向我的cakePHP文件夹的根文件夹,它按预期工作(!),我成功完成了Blog
教程。
然后我意识到我可能犯了一个错误,我指出了app/webroot
的apache,它仍然按预期工作。
如果是这种情况,为什么不通过没有多个index.php
文件并明确指出网站的根位置应该指向{{1} }?
答案 0 :(得分:0)
如果是这种情况,那么没有什么不能使PHP更清楚 拥有多个index.php文件并清楚地说明该网站的内容 根位置应该指向app / webroot?
猜猜是因为它被认为是新手友好的但这使得配置错误并将整个应用程序暴露给公众并不是一个好主意。
请参阅http://book.cakephp.org/3.0/en/installation.html#production
但是,我同意在某种程度上,这可能会更清楚一些原因。 您应该始终使用webroot文件夹,除了应用程序的tmp文件夹之外,您的系统的Web服务器用户都应该可以写入任何内容。
答案 1 :(得分:0)
对于某些托管服务提供商,不可能放置任何东西"低于"的public_html。在这些情况下,CakePHP在root,app和webroot目录中都提供了index.php和.htaccess。这可以让它在几个不同的托管环境中工作,而无需用户进行任何更改。
如果可能的话,你应该只公开webroot目录