在使用宝塔面板一键部署 WordPress 后,出现 404 错误 是一个比较常见的问题。下面我将从多个角度为你分析原因并提供解决方案。
🔍 一、什么是 404 错误?
404 Not Found 表示服务器找不到请求的页面或资源。对于 WordPress 来说,这通常不是文件缺失,而是 伪静态规则配置错误 或者 WordPress固定链接设置不当。
🧩 二、常见原因及解决方法
✅ 1. 伪静态规则未正确配置(最常见)
解决方法:
- 登录宝塔面板
- 进入你的网站 → 设置 → 配置文件
-
查看是否已经设置了 WordPress 的伪静态规则
-
如果没有,请选择:
伪静态 -> 选择 WordPress -
如果是 Nginx 环境,伪静态规则如下:
location / { index index.php index.html; if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } } rewrite /wp-admin$ /wp-admin/ permanent; -
Apache 环境则默认支持
.htaccess,确保mod_rewrite已启用。
-
✅ 2. 固定链接设置不正确
解决方法:
- 登录 WordPress 后台
- 进入 设置 → 固定链接
- 选择任意非“朴素”格式(如:文章名)
- 点击 保存更改
⚠️ 有时即使你之前设置了,也需要重新保存一次来刷新重写规则。
✅ 3. 文件权限问题
WordPress 某些目录权限设置不正确也可能导致 404。
推荐权限设置:
- 所有文件夹权限设为:
755 - 所有文件权限设为:
644 - 特别是
.htaccess文件需要可读
find /www/wwwroot/你的网站目录 -type d -exec chmod 755 {} ;
find /www/wwwroot/你的网站目录 -type f -exec chmod 644 {} ;
✅ 4. .htaccess 文件缺失或未生效(Apache 环境)
解决方法:
- 确保开启了 Apache 的
AllowOverride配置 - 在网站根目录下检查是否存在
.htaccess文件 - 如果没有,可以手动创建一个,并加入以下内容:
# 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
✅ 5. 网站目录配置错误
检查宝塔中网站配置的根目录是否指向了正确的 WordPress 安装目录,比如:
- 正确路径:
/www/wwwroot/example.com - 错误路径:
/www/wwwroot/example.com/subdir
🧪 三、测试方法
你可以尝试访问以下地址测试:
http://你的域名/wp-admin:如果能进入后台,说明 WordPress 安装成功,问题出在前端伪静态。http://你的域名/index.php:如果能正常打开首页,但去掉index.php就 404,说明伪静态没配置好。
📌 四、总结
| 问题 | 解决方案 |
|---|---|
| 伪静态未配置 | 宝塔设置伪静态为 WordPress |
| 固定链接问题 | 后台重新保存固定链接 |
| 文件权限问题 | 修改权限为 755/644 |
| .htaccess 缺失 | 创建并添加标准 WordPress 规则 |
| 根目录设置错误 | 检查网站运行目录是否正确 |
如果你仍然无法解决,欢迎贴出你的环境信息(Nginx/Apache?PHP版本?伪静态设置截图?),我可以进一步帮你排查!
需要我帮你生成完整的伪静态规则或者权限脚本吗?
云计算HECS