我的知识记录

网站404 Not Found(单个_所有页面)问题_已解决

报错现象:访问网站时,部分页面(如文章详情页、分类页)或所有页面提示“404 Not Found”,网站整体未宕机,仅目标资源无法找到;或宝塔面板环境下,访问Typecho后台提示404。
报错原因:URL拼写错误;页面被删除或移动未设置重定向;文件/目录权限错误(文件夹需755,文件需644);伪静态规则未配置或配置错误;PHP的PATH_INFO未开启(宝塔面板常见);CDN或浏览器缓存干扰;SSL证书未生成(HTTPS访问时)。
修复步骤
  1. 确认问题范围:排查是所有页面404还是个别页面,新页面无法访问还是历史链接失效,本地访问正常还是用户反馈报错,缩小排查范围。
  2. 检查URL与资源:核对浏览器地址栏URL,避免大小写错误、多余字符;登录后台检查对应页面是否已删除,静态资源(图片、CSS等)是否存在于对应路径中。
  3. 修正文件权限:登录服务器或主机面板,检查网站目录及文件权限,确保文件夹权限为755,文件权限为644,避免Web服务器无权读取资源。
  4. 开启PATH_INFO(宝塔面板):进入宝塔面板,找到对应PHP版本的“设置”,开启“PATH_INFO”功能,保存后重启PHP服务即可解决后台404问题。
  5. 配置伪静态规则:
    1. Apache服务器:在网站根目录创建/修改 .htaccess 文件,添加规则:RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php/$1 [L]
    2. Nginx服务器:在网站server配置段中添加伪静态规则,参考配置:if (!-e $request_filename) { rewrite ^(.*) /index.php$1 last; },同时确保location配置支持pathinfo(参考报错3的Nginx配置)。
    3. Caddy服务器:添加rewrite规则,参考配置:rewrite / { if {path} not_match (/usr/|/admin/) to /index.php{uri} }
  6. 清除缓存干扰:关闭CDN代理(如Cloudflare),清空浏览器缓存或使用无痕窗口访问;若SSL证书未生成,先生成并配置SSL证书,再用HTTPS访问。

网站404 Not Found(单个_所有页面)问题_已解决

标签:

更新时间:2026-03-12 10:59:17

上一篇:访问网站提示“数据库连接异常,请检查配置”

下一篇:打开网站显示"Access denied for user 'root'@'localhost' (using password_ YES)"错误怎