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

结论:WordPress放到服务器上只显示首页,通常是由于固定链接设置、伪静态规则配置或文件权限问题导致的。


如果你将 WordPress 程序上传到服务器后,发现除了首页可以正常访问,其他页面(如文章页、分类页、后台登录页)都提示 404 错误或无法打开,那么很可能不是程序本身的问题,而是 固定链接设置不当 或者 服务器环境未正确配置伪静态规则 所致。

以下是常见原因及解决方法:

常见原因分析

  • 固定链接未重置

    WordPress 默认使用“朴素”形式的固定链接(例如 ?p=123),当你在本地开发时可能设置了自定义结构(如 /文章标题.html)。上传到服务器后,如果没有更新固定链接设置,就会导致页面无法访问。

  • Apache/Nginx 未启用伪静态

    如果你使用的是 Apache 服务器,需要确认是否启用了 mod_rewrite 模块,并且 .htaccess 文件存在并有正确的写入权限。

    如果是 Nginx 服务器,则必须手动添加 WordPress 的伪静态规则,否则 URL 重写不会生效。

  • .htaccess 文件缺失或权限不足

    WordPress 在更改固定链接时会尝试自动写入 .htaccess 文件。如果该文件不存在或者没有写入权限,URL 重写功能就无法启用。

  • 服务器配置文件路径错误

    有时服务器的根目录指向不正确,比如 WordPress 安装在子目录中但服务器配置仍指向根目录,也会导致页面访问异常。

解决方案步骤

  1. 进入 WordPress 后台 → 设置 → 固定链接

    • 即使你已经选择了某种格式,也建议重新选择一次(例如选择“默认”,保存后再改回“文章名”),强制刷新链接结构
    • 这样 WordPress 会尝试重新生成 .htaccess 文件内容。
  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
  3. Apache 服务器需启用 mod_rewrite 并允许 .htaccess 覆盖

    • 修改 Apache 配置文件(如 httpd.conf 或站点配置文件),找到对应 <Directory> 区域,确保包含以下内容:
      AllowOverride All
    • 然后重启 Apache 服务。
  4. Nginx 用户需添加伪静态规则

    • 在 Nginx 的站点配置文件中添加如下代码:
      location / {
       try_files $uri $uri/ /index.php?$args;
      }
    • 或者更完整的 WordPress 规则:

      location / {
       index index.php index.html index.htm;
       try_files $uri $uri/ /index.php?$args;
      }
      
      location ~ .php$ {
       include snippets/fastcgi-php.conf;
       fastcgi_pass unix:/run/php/php-fpm.sock;
      }
    • 修改后重启 Nginx。
  5. 检查文件权限

    • WordPress 根目录及其子目录和文件的权限应设置为:
      • 目录:755
      • 文件:644
    • 特别注意 .htaccesswp-config.php 文件的权限不要过高,避免安全隐患。

总结与建议

核心观点一:WordPress 只显示首页的根本原因是 URL 重写机制未能正常工作。

核心观点二:优先检查固定链接设置与服务器伪静态配置,是解决此问题的关键。

核心观点三:不同服务器(Apache/Nginx)需分别配置对应的 URL 重写规则。

遇到此类问题时,不必急于重新安装 WordPress,先从服务器配置和固定链接入手排查,往往能快速定位并解决问题。此外,部署网站前建议记录好本地开发环境的设置,以便迁移时快速还原配置,减少兼容性问题的发生。

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