小皮面板网站打开 404 错误怎么排查?
学完这篇,你能按步骤判断小皮面板网站打开 404 到底是服务没启动、网站目录错误、域名没解析、伪静态配置错,还是文件权限问题,并把它修好。
第一步:先确认网站服务是否真的在运行,这一步要做的是判断 404 是否来自 Web 服务,做完你会得到 Apache 或 Nginx 是否监听 80/443 端口的结果。
打开小皮面板 Windows 版 v8.1.1.3 或同系列 v8.x,看首页顶部「Apache」「Nginx」状态是否为绿色运行。如果显示红色,点击右侧「启动」按钮;启动失败时再看面板日志。
然后打开 Windows PowerShell,执行:
netstat -ano | findstr ":80"
netstat -ano | findstr ":443"
如果没有任何输出,说明 Web 服务没有监听端口,404 通常不是网站文件问题,而是服务没起来。
注意:浏览器提示「无法访问此网站」「连接被拒绝」和 404 不一样。404 表示服务已经响应了请求,只是找不到目标页面或资源。
第二步:核对网站目录和默认首页,这一步要做的是确认请求的文件真的存在,做完你会得到网站根目录路径和首页文件名是否正确。
在小皮面板左侧菜单点击「网站」,在网站列表中找到你的站点,点击右侧「管理」按钮,进入「网站目录」页签。
重点看两个位置:
- 「网站路径」:例如
D:\phpstudy_pro\WWW\test - 「默认首页」:例如
index.html,index.php
打开资源管理器,进入这个网站路径,确认里面至少有一个首页文件,比如:
D:\phpstudy_pro\WWW\test\index.php
如果目录是空的,404 就是文件不存在造成的。新建 index.html 或 index.php 后再刷新浏览器。
注意:如果你部署的是 ThinkPHP、Laravel、Symfony 这类框架,网站根目录通常要指向项目里的
public目录,而不是项目根目录。根目录指错就会打开 404。
第三步:检查域名绑定和本机解析,这一步要做的是确认你访问的域名能解析到这台电脑,做完你会得到域名是否已经绑定到小皮网站的结果。
在小皮面板「网站」列表中点击「管理」,进入「域名管理」页签,确认里面绑定了你访问的域名,例如:
www.test.com
test.com
如果你用 test.com 访问,但只绑定了 www.test.com,也可能出现 404 或跳转错误。
如果你本机测试域名,打开这个文件:
C:\Windows\System32\drivers\etc\hosts
用管理员权限的记事本编辑,添加一行:
127.0.0.1 test.com
保存后,在 PowerShell 执行:
curl -I http://test.com
如果返回 HTTP/1.1 404 Not Found,说明域名已经解析到了本机,问题在网站配置或文件;如果返回 HTTP/1.1 200 OK,说明首页正常,404 可能只是某个子页面或静态资源不存在。
第四步:检查 Apache 或 Nginx 配置与伪静态,这一步要做的是排除 Rewrite 规则把请求转到不存在的文件,做完你会得到当前站点使用的 Web 服务配置是否正确。
如果你用的是 Apache,在小皮面板首页点击「服务」或「网站」中的 Apache 入口,进入「配置文件」,查看类似路径:
D:\phpstudy_pro\Apache\conf\vhosts\你的域名.conf
检查 DocumentRoot 是否指向正确网站目录,例如:
DocumentRoot "D:/phpstudy_pro/WWW/test/public"
如果你用的是 Nginx,在小皮面板「网站」中点击「管理」,进入「伪静态」页签,查看当前选择的伪静态模板,例如 WordPress、ThinkPHP、Laravel。也可以进入配置文件目录:
D:\phpstudy_pro\Nginx\conf\vhosts\你的域名.conf
检查 root 和 try_files 是否指向正确目录。
注意:伪静态模板选错,很容易让所有页面都变成 404。本地测试时可以先关闭伪静态,确认首页能打开,再逐个恢复规则。
第五步:检查文件权限和目录可读性,这一步要做的是确认 Web 服务进程能读取网站文件,做完你会得到权限问题是否导致 404 的判断结果。
Windows 本地小皮一般权限问题较少,但如果网站目录在移动硬盘、网络盘或特殊权限目录下,Apache/Nginx 可能读不到文件。右键网站目录,选择「属性」→「安全」,确认当前用户有「读取和执行」「列出文件夹内容」「读取」权限。
如果你用的是小皮面板 Linux 版,或者把网站部署到 Linux 服务器,检查文件属主:
ls -ld /www/wwwroot/test
ls -l /www/wwwroot/test/index.php
必要时修正权限:
chown -R www:www /www/wwwroot/test
find /www/wwwroot/test -type d -exec chmod 755 {} \;
find /www/wwwroot/test -type f -exec chmod 644 {} \;
注意:不要为了方便直接把网站目录设置成
777。权限过宽会带来安全风险,也可能让部分面板拒绝执行。
第六步:区分整站 404 和单个资源 404,这一步要做的是确认到底是首页不存在、子页面不存在,还是图片、CSS、JS 不存在,做完你会得到更准确的排查方向。
在浏览器打开 F12,切换到「Network」面板,按 F5 刷新页面,看状态列:
- 主文档返回 404:优先查网站根目录、默认首页、伪静态。
- 图片、CSS、JS 返回 404:优先查静态文件路径、网站目录映射、URL Rewrite。
- 只有某个页面 404:优先查 CMS 固定链接、路由配置、数据库内容是否存在。
例如 WordPress 打开首页正常,但文章页 404,通常不是小皮网站目录错,而是 Apache .htaccess 或 Nginx 伪静态没有生效。
小结
排查小皮面板网站 404,建议按这个顺序:先确认 Apache/Nginx 是否监听 80/443,再检查网站目录和默认首页是否存在,然后核对域名绑定与本机 hosts,接着排除伪静态和框架 public 目录配置错误,最后检查文件权限。大多数 404 都集中在目录指错、首页文件缺失、域名没解析、伪静态模板选错这几类问题上。
原文链接:https://www.gj0.com/thread-1623.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。