我有一个带有 ISPConfig + Nginx + PHP 的服务器,它将默认的 webroot 设置为/{userdir}/web
. 我只能访问该文件夹,并且无法更改 nginx 中的 docroot。
大多数框架使用子文件夹作为其 docroot,例如,如果我安装 CakePHP,则 docroot 应设置为/{userdir}/web/webroot
但是,因为我无法更改 docroot,所以我需要在 nginx 中创建一些重写规则,这基本上会改变任何要/
进入的内容/webroot/
我尝试了使用 CakePHP 的默认重写规则,并且效果很好,因为它们index.php
在项目中有一个文件根目录,这样可以很好地映射出来。问题是,例如,由于扩展名而尝试访问时/favicon.png
,它需要作为文件提供,但没有重写规则。是否有一些神奇的重写规则,它将所有内容路由到子文件夹,就好像它是文档根目录一样?以下是 CakePHP 推荐的默认重写规则:
https ://book.cakephp.org/3.0/en/installation.html#nginx