最省事方式是选宝塔内置“thinkphp 6”模板,它自动写入if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; }规则;若手动配置,须确保入口路径为/public/index.php、运行目录设为/public、规则末尾用last且重载nginx。

宝塔面板配 ThinkPHP 6 伪静态,最省事不是点模板,而是选对模板+改对路径+重载到位。新版宝塔已内置「ThinkPHP 6」专用模板,它适配 PATHINFO 模式、自动写入正确规则,比手动粘贴更稳。
直接用宝塔内置 ThinkPHP 6 模板
这是最快且容错率最高的方式:
- 进「网站」→ 找到你的站点 → 点「设置」→ 切到「伪静态」选项卡
- 下拉菜单中务必选择「ThinkPHP 6」(不是「ThinkPHP」,那个是给 TP5 的)
- 点击「保存」,宝塔会自动重载 Nginx
- 该模板生成的规则为:if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; }
手动配置时必须注意的三件事
如果没看到「ThinkPHP 6」选项,或你部署在子目录/多应用环境,需手动填写规则,但以下三点缺一不可:
-
入口路径要带 /public/:TP6 默认入口是
/public/index.php,所以规则应为rewrite ^(.*)$ /public/index.php?s=$1 last; -
运行目录设为 /public:在「网站设置 → 网站目录 → 运行目录」中,下拉选择
/public(开头有斜杠,不能留空或填/) -
规则末尾必须是 last:不能写
break(重写后不重新匹配 location)或redirect(暴露真实 URL)
验证是否真正生效
光点保存不行,得实测加检查:
- 访问
https://yourdomain.com/index/test(不带index.php),能正常显示控制器输出 → 伪静态成功 - 返回 404 或提示
URL pathinfo not supported→ 检查三项硬配置:
– PHP 禁用函数里是否勾选了putenv或ini_set(必须去掉)
– 站点配置中location ~ \.php$块内是否有fastcgi_param PATH_INFO $fastcgi_path_info;
– 是否已执行「重载 Nginx」(界面点或 SSH 执行nginx -t && service nginx reload)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











