thinkphp5 在宝塔服务器上部署,出现的问题:
1. File not found.
原因: 宝塔服务器默认不支持 pathinfo 的路径访问;需要在软件 - PHP - 管理里面,安装php pathinfo 扩展,并启用;
thinkphp 在入口文件同级下,有个 .access 文件,需要配置;官方文档中有说明,但是有个地方是不正确的
正确的配置应该如下:
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
</IfModule>
特别注意 index.php?s=
这个问题搞了2天,纠结了好久。无意中尝试发现是路径的问题。太坑。
2.网站管理里面,需要启用 thinkphp 的伪静态。
完成上面2步,基本上能解决路径不对的问题。
路径不对,主要还是thinkphp的路由问题,可能版本不一样,都会有所区别。需要具体视情况来分析了。