宝塔面板配置Yii2伪静态规则【防404】

轻瑶君_1165

轻瑶君_1165

2026-08-09

334人浏览

原创

宝塔面板配置yii2伪静态规则需设运行目录为/web、选yii2模板、确保重写规则含if (!-e $request_filename) { rewrite ^(.*)$ /web/index.php?$1 last; },子目录部署需调整路径前缀,必要时删除fastcgi_split_path_info并重启站点。

宝塔面板配置yii2伪静态规则【防404】

宝塔面板配置Yii2伪静态规则是为了让网站URL更简洁、SEO更友好,同时避免访问路由时出现404错误;Yii2默认依赖PATH_INFO模式解析URL,若Nginx未正确重写请求到index.php,所有非根路径(如/user/login、/admin/dashboard)都会直接返回404。

确认Yii2部署方式与运行目录

进入宝塔【网站】→点击目标站点【设置】→切换至【网站目录】选项卡。

检查【运行目录】是否设为【/web】——这是Yii2标准结构中public入口目录,必须精确匹配,不能留空、不能填/或/public;若项目结构是/www/wwwroot/myapp/web,则运行目录必须选/web,否则Nginx找不到index.php就会全站404。

保存后无需重启,root指令热生效。

选择并验证伪静态模板

在同个站点设置窗口中,切换到【伪静态】选项卡。

下拉菜单中【选择“Yii2”模板】——注意不是“ThinkPHP”或“Laravel”,Yii2对PATH_INFO和QUERY_STRING处理逻辑特殊,混用模板会导致$_GET['r']丢失或路由解析失败。

点击保存后,立即查看文本框内生成的规则内容:必须包含且仅包含以下核心行:

if (!-e $request_filename) { rewrite ^(.*)$ /web/index.php?$1 last; }

若看到的是try_files $uri $uri/ /index.php?$args; 或 rewrite ^(.*)$ /index.php?s=$1 last;,说明模板选错或被手动覆盖,需清空后重选Yii2。

手动修正关键参数(必要时)

方法一:适配子目录部署

Yii Framework 2.0.51
Yii Framework 2.0.51

Yii Framework 2.0.51 官方 Basic 应用模板,适合旧项目兼容、升级验证和开发测试。

下载

若Yii2部署在二级路径如https://example.com/app/,则原规则会把/app/user/login误导向/web/index.php?/app/user/login,导致路由错乱;此时需手动修改为:

if (!-e $request_filename) { rewrite ^/app/(.*)$ /app/web/index.php?$1 last; }

注意:rewrite开头的路径前缀(/app/)必须与实际访问URL完全一致,大小写、末尾斜杠均不可差。

方法二:修复PATH_INFO截断问题

宝塔自动生成的Yii2规则默认不启用fastcgi_split_path_info,但部分Nginx版本需显式关闭该指令,否则Yii2的Yii::$app->request->pathInfo为空;打开【网站】→【设置】→【配置文件】页签,滚动到底部,在location ~ \.php$块内查找fastcgi_split_path_info行,【若存在,整行删除】,保留fastcgi_param PATH_INFO $request_uri;即可。

强制重载并验证生效

第一步:点击【保存】伪静态规则。

第二步:返回【网站】列表页,找到该站点,点击右侧【重启】按钮——不是“重载配置”,也不是“重载Nginx”,必须点站点级【重启】,否则Nginx不会重新加载该server块中的location配置。

第三步:终端执行nginx -t确认语法无误;再执行curl -I https://your-domain.com/site/index,观察响应头中HTTP/1.1 200 OK是否出现,而非404。

第四步:访问任意后台路由如/user/login,页面能正常加载即表示伪静态已生效。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
PHP Yii框架专题
PHP Yii框架专题

本专题专注于PHP主流框架Yii的应用,系统讲解MVC架构、路由机制、数据库操作、表单处理、安全验证与RESTful API 开发等核心内容。通过电商网站、后台管理系统与内容管理平台等实战项目,帮助学员快速掌握Yii框架的开发技巧与实战经验。

2025.09.04

2730

22

宝塔面板部署ThinkPHP6项目与LNMP环境配置实践
宝塔面板部署ThinkPHP6项目与LNMP环境配置实践

本专题围绕宝塔面板在 ThinkPHP6 项目部署中的实际应用展开,系统讲解 LNMP 环境一键搭建、站点创建、域名绑定、伪静态配置以及 PHP 版本切换等关键操作。内容还包括数据库配置、项目上传部署、运行目录设置及常见部署问题排查。通过完整上线流程演示,帮助开发者快速实现 ThinkPHP 项目的服务器部署与稳定运行,提升网站上线效率与运维能力。

2026.03.23

415

15

宝塔面板网站安全加固与防攻击配置实践
宝塔面板网站安全加固与防攻击配置实践

本专题围绕宝塔面板在网站安全防护中的应用展开,系统讲解防火墙配置、SSH 安全策略、登录保护、端口管理及恶意访问拦截机制。内容涵盖 CC 攻击防护、文件权限设置、敏感目录保护及安全日志分析,帮助用户全面提升服务器安全性。

2026.03.25

52

17

宝塔面板多站点管理与虚拟主机配置实践
宝塔面板多站点管理与虚拟主机配置实践

本专题讲解如何通过宝塔面板实现多站点部署与统一管理,包括站点创建、域名绑定、子站配置及资源隔离策略。通过实战案例,帮助用户高效管理多个网站项目,提高服务器利用率。

2026.03.25

159

21

宝塔面板Nginx性能优化与高并发配置实践
宝塔面板Nginx性能优化与高并发配置实践

本专题围绕宝塔环境下的 Nginx 优化展开,深入讲解缓存策略、连接数调优、Gzip 压缩、静态资源加速及反向代理配置。帮助用户提升网站访问速度与并发处理能力。

2026.03.25

436

29

宝塔面板数据库管理与MySQL性能调优实践
宝塔面板数据库管理与MySQL性能调优实践

本专题讲解宝塔面板中数据库管理与优化技巧,包括数据库备份恢复、慢查询日志分析、索引优化及连接数配置。通过实际案例,帮助用户提升数据库运行效率。

2026.03.25

181

25

宝塔面板SSL证书部署与HTTPS配置实践
宝塔面板SSL证书部署与HTTPS配置实践

本专题围绕网站 HTTPS 部署展开,讲解 SSL 证书申请、自动续签、强制 HTTPS 跳转及混合内容问题解决方案,提升网站安全与 SEO 表现。

2026.03.25

409

25

宝塔面板定时任务与自动化运维实践
宝塔面板定时任务与自动化运维实践

本专题讲解宝塔定时任务功能的使用,包括计划任务创建、Shell 脚本执行、日志管理及自动备份策略,帮助用户实现服务器自动化运维。

2026.03.25

147

23

宝塔面板FTP与文件权限管理实践
宝塔面板FTP与文件权限管理实践

本专题围绕文件管理与权限控制展开,讲解 FTP 创建、用户权限分配、文件读写控制及安全上传策略,保障网站文件安全。

2026.03.25

132

19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
宝塔入门指引手册
宝塔入门指引手册

共0课时 | 0人学习

宝塔官方实践教程
宝塔官方实践教程

共0课时 | 0人学习