在将 WordPress 网站部署到服务器后,如果只能访问首页(首页正常显示),但其他页面(如文章页、分类页、后台登录页等)出现 404 错误或无法打开的情况,通常是由于以下原因之一导致的。下面是常见的排查和解决方法:
✅ 一、检查伪静态规则是否配置正确
这是最常见的问题原因。WordPress 使用了“固定链接”功能,需要服务器支持 URL 重写(伪静态),否则除了首页外的页面都会返回 404。
根据你使用的服务器类型选择对应的解决方案:
🔧 Apache 服务器
- 确保启用了
mod_rewrite模块。 - 确保网站目录下有
.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
- 确保 Apache 配置中允许
.htaccess生效,即:AllowOverride All
🔧 Nginx 服务器
Nginx 不使用 .htaccess,你需要手动在站点配置文件中添加伪静态规则:
location / {
try_files $uri $uri/ /index.php?$args;
}
完整示例配置:
server {
listen 80;
server_name yourdomain.com;
root /path/to/wordpress;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
✅ 二、检查 WordPress 固定链接设置
- 登录 WordPress 后台(如果可以访问
/wp-login.php的话)。 - 进入 设置 > 固定链接。
- 选择一个非“默认”的结构(比如 “文章名”)。
- 点击【保存更改】,即使没有修改也要点一次,这会刷新
.htaccess或通知服务器重新加载规则。
✅ 三、检查文件权限和路径
- 确保 WordPress 文件夹权限为
755,文件权限为644。 - 确保上传的文件完整,尤其是
.htaccess和index.php。 - 如果你是通过 FTP 上传的文件,请确认上传方式是“二进制”,不是“ASCII”。
✅ 四、检查数据库中的 siteurl 和 home 设置
有时候网站迁移后数据库中的地址没改,会导致部分页面跳转异常。
- 登录 phpMyAdmin 或你的数据库管理工具。
- 打开 WordPress 数据库。
- 找到
wp_options表(前缀可能不同)。 - 检查
siteurl和home的值是否为你当前访问的域名。
例如:
| option_name | option_value |
|---|---|
| siteurl | https://yourdomain.com |
| home | https://yourdomain.com |
✅ 五、缓存问题(浏览器或插件)
- 清除浏览器缓存。
- 如果你安装了缓存插件(如 WP Super Cache、W3 Total Cache),尝试清除缓存或暂时禁用插件。
- 如果使用 CDN(如 Cloudflare),也请清除 CDN 缓存。
✅ 六、测试访问 /wp-login.php
如果你连后台都打不开,可能是:
.htaccess规则错误屏蔽了某些路径;- 权限限制;
- 服务器配置错误。
🧪 快速验证方法
你可以尝试访问一个具体的文章页,例如:
https://yourdomain.com/2025/04/01/hello-world/
如果出现 404,说明伪静态规则未生效。
总结:解决问题顺序
- 检查伪静态规则(重点!)
- 检查固定链接设置
- 检查数据库中的
siteurl和home - 检查文件权限和完整性
- 清除缓存
- 查看服务器日志排查更深层错误
如果你能提供你使用的服务器类型(Apache/Nginx)、是否自定义过 .htaccess、是否是从本地迁移到服务器等情况,我可以给你更具体的帮助!
需要我帮你生成对应服务器的伪静态规则吗?
CLOUD技术博