## WordPress 固定链接 404 问题完整解决方案
### 问题现象
文章在后台能看到,但访问页面显示 404。这是 WordPress 最常见的问题之一。
### 根本原因分析
#### 1. .htaccess 文件缺失或配置错误
WordPress 使用 Apache 的 mod_rewrite 模块来处理固定链接。如果 .htaccess 文件不存在或配置错误,固定链接就会失效。
**解决方案:**
在网站根目录创建 .htaccess 文件:
“`apache
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
“`
#### 2. Apache rewrite 模块未启用
**检查方法:**
“`bash
apache2ctl -M | grep rewrite
“`
**启用方法:**
“`bash
a2enmod rewrite
service apache2 restart
“`
#### 3. Docker 环境下的特殊问题
在 Docker 环境中,WordPress 运行在容器内,外部使用 nginx 反向代理。这时需要:
**nginx 配置:**
“`nginx
location / {
proxy_pass http://127.0.0.1:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
error_page 404 = /index.php;
}
“`
#### 4. 数据库中的固定链接设置
有时数据库中的固定链接设置会损坏。
**修复方法:**
1. 进入 WordPress 后台
2. 设置 → 固定链接
3. 不修改任何内容,直接点击”保存更改”
这会刷新 rewrite_rules 选项。
### 排查步骤总结
1. ✅ 检查 .htaccess 文件是否存在
2. ✅ 确认 Apache rewrite 模块已启用
3. ✅ 检查 nginx 配置(如使用反向代理)
4. ✅ 在后台重新保存固定链接设置
5. ✅ 清除浏览器和服务器缓存
### 验证方法
访问文章固定链接,应该正常显示而不是 404。
### 预防措施
– 备份 .htaccess 文件
– 使用 Docker 时确保配置正确
– 定期更新 WordPress 和插件
– 使用可靠的托管服务
—
**技术栈:** WordPress, Apache, nginx, Docker
**难度:** 中级
**预计解决时间:** 10-30 分钟