wordpress放到服务器上只显示首页?

在将 WordPress 网站部署到服务器后,如果只能访问首页(首页正常显示),但其他页面(如文章页、分类页、后台登录页等)出现 404 错误或无法打开的情况,通常是由于以下原因之一导致的。下面是常见的排查和解决方法:


✅ 一、检查伪静态规则是否配置正确

这是最常见的问题原因。WordPress 使用了“固定链接”功能,需要服务器支持 URL 重写(伪静态),否则除了首页外的页面都会返回 404。

根据你使用的服务器类型选择对应的解决方案:

🔧 Apache 服务器

  1. 确保启用了 mod_rewrite 模块。
  2. 确保网站目录下有 .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
  1. 确保 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 固定链接设置

  1. 登录 WordPress 后台(如果可以访问 /wp-login.php 的话)。
  2. 进入 设置 > 固定链接
  3. 选择一个非“默认”的结构(比如 “文章名”)。
  4. 点击【保存更改】,即使没有修改也要点一次,这会刷新 .htaccess 或通知服务器重新加载规则。

✅ 三、检查文件权限和路径

  • 确保 WordPress 文件夹权限为 755,文件权限为 644
  • 确保上传的文件完整,尤其是 .htaccessindex.php
  • 如果你是通过 FTP 上传的文件,请确认上传方式是“二进制”,不是“ASCII”。

✅ 四、检查数据库中的 siteurl 和 home 设置

有时候网站迁移后数据库中的地址没改,会导致部分页面跳转异常。

  1. 登录 phpMyAdmin 或你的数据库管理工具。
  2. 打开 WordPress 数据库。
  3. 找到 wp_options 表(前缀可能不同)。
  4. 检查 siteurlhome 的值是否为你当前访问的域名。

例如:

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,说明伪静态规则未生效。


总结:解决问题顺序

  1. 检查伪静态规则(重点!)
  2. 检查固定链接设置
  3. 检查数据库中的 siteurlhome
  4. 检查文件权限和完整性
  5. 清除缓存
  6. 查看服务器日志排查更深层错误

如果你能提供你使用的服务器类型(Apache/Nginx)、是否自定义过 .htaccess、是否是从本地迁移到服务器等情况,我可以给你更具体的帮助!


需要我帮你生成对应服务器的伪静态规则吗?

未经允许不得转载:CLOUD技术博 » wordpress放到服务器上只显示首页?