如何将public中的index.php移动到项目根目录

有很多小伙伴可能会在一个虚拟主机下部署多个站点,在这种情况下项目的请求路径可能会是https://localhost/fastadmin/public这种情况。
但是很多时候我们都希望像如下情况https://localhost/fastadmin,此时就需要将public目录下的index.php移动到项目根目录下。

温馨提示

ThinkPHP官方和FastAdmin都不建议大家把index.php转移到项目根目录,因为在这种情况下项目中的runtime、application等目录都被暴露在外部访问,如果你一定要这样操作,请务必禁用runtime、application等目录的可执行权限。
index.php移动到项目根目录后会导致部分插件不能正常工作。

操作步骤

  1. 将public目录下的index.php、.htaccess、admin.php、install.php、route.php文件移动到项目根目录,assets、uploads这两个文件夹务必保留在public目录中
  2. 修改index.phpadmin.php中的/..//
  3. 修改application/extra/site.php中的cdnurl的值为/fastadmin/public,这里的/fastadmin/public视你的项目名称而修改
  4. 修改application/config.php中大概第138行__CDN__的值为/fastadmin/public,这里的/fastadmin/public视你的项目名称而修改
  5. 登录后台,在系统配置中将cdnurl的值改为/fastadmin/public,这里的修改是为了同步数据库中的配置。 完成,使用https://localhost/fastadmin试试是否可以正常访问了

常见问题

1、为什么public中的assetsuploads不能移动到项目根目录?

这是由于FastAdmin中的插件和上传都使用了public这个目录

2、为什么伪静态会失效?

请注意你的.htaccess文件是否有一同移动到项目根目录
11 条评论

发布
问题