如果你的 WordPress 网站只能打开首页,而其他页面(如文章、分类、标签页等)打不开,通常是因为 固定链接设置或服务器重写规则(如 Apache 的 mod_rewrite 或 Nginx 的 rewrite 规则)配置不正确。以下是一些常见的排查和解决方法:
🔍 一、问题可能原因
- 固定链接设置错误
- 服务器未启用伪静态(URL重写)功能
- .htaccess 文件缺失或权限不对(Apache)
- Nginx 配置缺少 WordPress 重写规则
- WordPress 地址设置错误
✅ 解决步骤
步骤 1:检查固定链接设置
- 登录 WordPress 后台。
- 进入 设置 > 固定链接。
- 当前如果不是“朴素”模式,先切换为 朴素(默认),保存。
- 然后尝试访问文章页看看是否能打开。
- 如果可以打开,说明是 URL 重写的问题。
- 再次修改为你喜欢的结构(如
/文章标题.html),保存。
步骤 2:检查 .htaccess 文件(适用于 Apache)
- 路径一般在 WordPress 安装目录下。
- 确保文件内容如下:
# 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
⚠️ 注意:
- 检查
.htaccess是否存在,不存在就新建一个。- 检查 Apache 是否启用了
mod_rewrite模块。- 检查 Apache 配置中是否允许
.htaccess生效(即AllowOverride All)。
步骤 3:检查服务器配置(Nginx)
如果你使用的是 Nginx,请确保配置文件中有类似以下的重写规则:
location / {
try_files $uri $uri/ /index.php?$args;
}
完整示例配置:
server {
listen 80;
server_name yourdomain.com;
root /var/www/html;
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;
}
}
步骤 4:检查 WordPress 地址设置
进入 设置 > 常规,确认:
- WordPress 地址(URL)
- 站点地址(URL)
这两个地址应与你当前访问的域名一致,不能带多余的路径或拼写错误。
步骤 5:清除缓存
- 清除浏览器缓存。
- 如果使用了缓存插件(如 WP Super Cache、W3 Total Cache),请清除缓存。
- 如果使用 CDN(如 Cloudflare),也请刷新缓存。
🧪 测试方法
- 打开首页 → 成功 ✅
- 点击任意一篇文章 → 应该能正常打开 ✅
- 访问
/some-post/(替换为你实际的文章别名)→ 应返回 200 OK ✅
🆘 如果仍然不行?
你可以提供以下信息以便进一步诊断:
- 使用的是 Apache 还是 Nginx?
- 是否本地开发环境(如 XAMPP、WAMP、MAMP、Docker)?
- 服务器日志是否有报错?(如 403、404、500)
- 其他页面显示什么错误?(例如:“404 Not Found”、“Index of /”、“Too many redirects”)
如果你愿意,我可以一步步帮你排查!只需告诉我你的服务器类型和遇到的具体情况 😊
云知识