You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx反向代理配置异常:主站转localhost:3000,/blog路径WordPress报404

Nginx反向代理配置问题解决方案及备选CMS推荐

一、解决/blog路径404的Nginx配置调整

常见错误原因及修复方案

访问https://example.com/blog出现404,核心问题通常是Nginx路径映射错误或WordPress站点URL配置不匹配,以下是针对性的正确配置示例及说明:

1. 正确的Nginx配置示例

假设WordPress文件部署在服务器的/var/www/wordpress目录,使用php-fpm处理PHP请求(默认端口9000),配置如下:

server {
    listen 443 ssl;
    server_name example.com;

    # SSL证书配置(请替换为你的证书路径)
    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/key.pem;

    # 主站反向代理到localhost:3000
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # /blog路径路由到WordPress
    location /blog/ {
        root /var/www;  # 关键:WordPress放在/var/www/wordpress,root设为上级目录,使/blog对应到wordpress目录
        index index.php index.html index.htm;

        # 处理WordPress固定链接(非默认 permalink 需添加)
        if (!-e $request_filename) {
            rewrite ^/blog/(.*)$ /blog/index.php?$1 last;
        }

        # PHP请求转发到php-fpm
        location ~ \.php$ {
            fastcgi_pass localhost:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_param HTTP_HOST $host;
            fastcgi_param REQUEST_URI $request_uri;
        }

        # 静态文件缓存优化
        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
            expires 30d;
            access_log off;
        }
    }
}

2. 关键配置说明

  • 路径映射修正:若将location /blog/的root设为/var/www/wordpress,Nginx会尝试在/var/www/wordpress/blog下查找文件,导致404。设置root /var/www后,/blog/xxx会对应到/var/www/wordpress/xxx,匹配WordPress的实际文件位置。
  • 固定链接重写:如果WordPress使用自定义固定链接(如文章名格式),必须添加rewrite规则,否则Nginx无法将动态请求转发到index.php处理。
  • WordPress后台配置:登录WordPress后台,进入「设置-常规」,将「WordPress地址(URL)」和「站点地址(URL)」均设为https://example.com/blog,确保生成的资源路径和跳转链接正确。

二、备选CMS推荐

若上述配置仍无法满足需求,可考虑以下适合博客场景的CMS:

  • Ghost:轻量级博客专用CMS,基于Node.js开发,界面简洁,专注内容创作,部署和维护成本低,性能优异。
  • Hugo:静态站点生成器,无需数据库,编译生成纯静态HTML文件,访问速度极快,适合不需要频繁动态更新内容的博客。
  • Drupal:功能全面的企业级CMS,支持复杂内容结构和扩展插件,适合需要搭建包含博客的综合性站点。
  • Joomla:平衡易用性与扩展性的CMS,内置博客模块,适合中小型站点,学习曲线比Drupal平缓。

内容的提问来源于stack exchange,提问作者fp007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 04:20:21