如何解决WordPress网站部分页面点击时的404 Not Found问题
解决WordPress部分页面404及ErrorDocument相关问题的实操步骤
嘿,咱们来搞定你碰到的这些404问题——不管是部分页面提示「服务器上未找到请求的URL」,还是处理ErrorDocument时也出现的404报错。我经手过好多次这类情况,下面一步步来排查修复:
1. 先刷新固定链接配置(最常见的解决办法)
WordPress的伪静态页面依赖重写规则,有时候规则会因为各种原因失效,刷新一下就好:
- 登录WordPress后台,找到「设置」→「固定链接」
- 不用修改当前的链接结构,直接点击「保存更改」按钮——这会自动更新服务器上的
.htaccess文件(只要服务器允许写入) - 保存完之后,再去访问出问题的页面,看看是不是恢复正常了
2. 手动检查并修复.htaccess文件
如果第一步没用,大概率是.htaccess文件权限不对或者内容缺失:
- 用FTP工具或者主机面板的文件管理器,找到网站根目录下的
.htaccess(注意这是隐藏文件,要开启「显示隐藏文件」的选项) - 先确认文件权限是
644(所有者可读可写,其他用户只读),如果权限不对,改成644 - 把
.htaccess里的内容替换成WordPress默认的重写规则(适用于Apache服务器):
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
- 保存文件后,再测试页面是否能正常访问
3. 排查ErrorDocument的配置问题
你提到处理ErrorDocument时也出404,这说明你设置的错误页面本身可能不存在,或者路径写错了:
- 打开
.htaccess文件(或者主机面板的「错误页面设置」),找到类似ErrorDocument 404 /404.php的配置行 - 检查路径是否正确:比如
/404.php是否真的在网站根目录;如果用的是WordPress自定义404页面,应该指向WordPress的入口,改成ErrorDocument 404 /index.php?error=404 - 要是你用的是Nginx服务器,对应的配置要放在
server块里,比如:
error_page 404 /index.php;
- 修改完后重启服务器(Apache或Nginx),再测试错误页面是否正常显示
4. 确认页面本身是否存在或状态异常
部分页面404也可能是页面本身的问题:
- 登录WordPress后台,进入「页面」→「所有页面」,找出出问题的页面,看看它是否存在,状态是不是「发布」
- 如果页面被移到了草稿或者回收站,恢复后重新发布就行
- 如果是自定义文章类型的页面,检查该类型的设置是否开启了「公开」和「固定链接支持」
5. 排查插件或主题冲突
有时候第三方插件或主题的代码会干扰重写规则:
- 先禁用所有插件,然后测试页面是否正常;如果正常,再逐个启用插件,找出导致问题的那个,要么更新要么替换掉它
- 如果禁用插件没用,切换到WordPress默认主题(比如Twenty Twenty-Four),测试是否正常,排除主题的问题
要是以上步骤都没解决,你可以去主机面板里找服务器的错误日志,里面会有更详细的报错信息,能帮你精准定位问题。
内容的提问来源于stack exchange,提问作者Pinky Pinky
相关产品推荐
相关产品推荐

