🔧【运维日常】深夜救火!网站后台又双叒叕404了?
💻刚接手公司服务器的萌新小王,正对着黑屏的宝塔面板抓狂:"明明按照教程部署了Typecho博客,怎么后台访问就报404呢?"(挠头.jpg)
🚨别慌!这很可能是Pathinfo模式没开启惹的祸,今天就带大家手把手解锁宝塔面板7.x的Pathinfo全流程配置,让你的网站从此告别访问障碍!
1️⃣ 登录宝塔面板(记得用管理员账号哦)
2️⃣ 找到目标网站,点击【设置】按钮
3️⃣ 切换到【PHP版本】选项卡,点击当前PHP版本号(比如PHP 7.4)
🔍 重点来了!在PHP设置页面下拉找到:
📌【是否开启pathinfo】选项
(默认可能是关闭状态,就像小王遇到的坑)
💡 贴心提示:
▸ 如果看到"fileinfo扩展未安装"警告,记得先到【软件商店】→【PHP管理】→【安装扩展】里装个fileinfo
▸ PHP 8.x版本用户可以直接跳过这步啦~
1️⃣ 勾选【开启pathinfo】后,点击页面底部【保存】
2️⃣ 返回网站设置页面,点击【重启】按钮
(Nginx/Apache服务会优雅重载,不用重启整个服务器)
🌈 见证奇迹的时刻:
重新访问http://你的域名/admin
,是不是看到熟悉的后台登录页啦?
如果遇到顽固的404问题(特别是ThinkPHP/Laravel框架),可能需要手动修改Nginx配置:
1️⃣ 找到配置文件:
/www/server/nginx/conf/php/7.x.conf
(用宝塔的【文件】功能直接编辑更安全)
2️⃣ 定位这段代码:
location ~ \.php(.*)$ { try_files $uri =404; fastcgi_pass 127.0.0.1:20074; # 以下三行是关键! set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; include fastcgi_params; }
3️⃣ 保存后执行:
🔄【重启Nginx】让配置生效
1️⃣ 伪静态规则双保险:
到网站设置的【伪静态】选项卡,选择对应框架模板(如ThinkPHP),保存后重载服务
2️⃣ 权限检查三件套:
chown -R www:www /www/wwwroot/你的网站目录 chmod -R 755 /www/wwwroot/你的网站目录 chmod -R 777 /www/wwwroot/你的网站目录/runtime # 临时目录特殊处理
3️⃣ 防火墙放行端口:
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --reload
现在测试这些场景应该都畅通无阻啦:
✅ http://域名/index.php/post/123
正常访问
✅ 后台管理页面秒开
✅ RESTful API接口返回正确数据
💡 常见问题Q&A:
Q:修改后还是404怎么办?
A:检查.htaccess
文件是否存在且权限正确,或者尝试在伪静态规则里加这句:
if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?s=/$1 last; }
Q:PHP版本升级后失效?
A:每次升级PHP都要重新配置pathinfo,建议做好配置备份
📌 收藏这篇保姆级教程,下次遇到Pathinfo问题直接抄作业!运维小伙伴们,你们还遇到过哪些奇葩的访问障碍?欢迎在评论区交流避坑经验~
本文由 日光向景 于2025-08-02发表在【云服务器提供商】,文中图片由(日光向景)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://up.7tqx.com/fwqtj/513535.html
发表评论