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

Karson 2017-8-28 1380

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

温馨提示

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

操作步骤

  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试试是否可以正常访问了

FAQ

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

这是由于FastAdmin中的插件和上传都使用了public这个目录
为什么伪静态会失效?
请注意你的.htaccess文件是否有一同移动到项目根目录
最后于 2017-9-19 被Karson编辑
最新回复 (9)
  • F4NNIU 打赏 2017-12-23
    感谢TA
    0 引用 2

    【管理员】Karson-深圳(请勿@)
    但不推荐这样做,可能会导致某些插件不工作。

  • F4NNIU 打赏 2018-1-3
    感谢TA
    0 引用 3
    @F4NNIU 【管理员】Karson-深圳(请勿@)
    但不推荐这样做,可能会导致某些插件不工作。
    改变 public 目录后,出现错误需要自行排查解决。
  • qmit2099 8月前
    感谢TA
    0 引用 4

    貌似也要把:application/extra/upload.php 中的cdnurl改为:/fastadmin/public ,否则图片也不显示哦。

  • youyou 1月前
    感谢TA
    0 引用 5
    qmit2099 貌似也要把:application/extra/upload.php 中的cdnurl改为:/fastadmin/public ,否则图片也不显示哦。

    正解, 解决了后台不显示图片的问题

  • pao_123 12天前
    感谢TA
    0 引用 6

    不知道什么原因,导致的根目录下的 index.php页面内容给篡改成HTML代码QQ截图20190211094214.jpg

  • yyf 12天前
    感谢TA
    0 引用 7

    mark

  • 韩家忠 11天前
    感谢TA
    0 引用 8

    分享

  • 墨笔妙痕 10天前
    感谢TA
    0 引用 9

    @pao_123 被人挂马了

  • 未登录
    11
返回