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

Docker部署NGINX+PHP-FPM+WordPress遇重定向异常求助

排查与解决WordPress重定向循环(301)问题

1. 核对WordPress站点核心URL配置

直接登录MariaDB容器,执行SQL查询确认wp_options表中的站点地址配置:

SELECT option_name, option_value FROM wp_options WHERE option_name IN ('siteurl', 'home');

确保两个字段的值均为https://www.wordpress1.com(与公网访问的域名完全一致,包含HTTPS和www前缀)。若不符,执行更新语句:

UPDATE wp_options SET option_value = 'https://www.wordpress1.com' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://www.wordpress1.com' WHERE option_name = 'home';

注意:如果站点使用自定义表前缀,需将wp_options替换为实际前缀(如wp1_options)

2. 确保反向代理头正确传递

WordPress依赖反向代理头识别真实请求的协议与域名,需检查Traefik和NGINX的配置:

  • Traefik配置:为wordpress1服务添加头传递中间件,确保信任Docker子网的IP:
    middlewares:
      wordpress1-headers:
        headers:
          forwardedHeaders:
            trustedIPs:
              - "172.17.0.0/16" # 根据实际Docker子网调整
            customRequestHeaders:
              X-Forwarded-Proto: "https"
    
    并将该中间件绑定到wordpress1的路由规则中。
  • NGINX站点配置:在server块内添加反向代理头支持,并强制告知PHP请求为HTTPS:
    server {
      # 其他基础配置省略
      location / {
        try_files $uri $uri/ /index.php?$args;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
      }
    
      location ~ \.php$ {
        fastcgi_pass php-fpm:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS on;
        fastcgi_param HTTP_X_FORWARDED_PROTO https;
        include fastcgi_params;
      }
    }
    

3. 检查Cloudflare SSL与页面规则设置

  • 登录Cloudflare控制台,将wordpress1.com的SSL/TLS模式设为严格(Full strict),避免因混合内容触发不必要的重定向。
  • 排查针对www.wordpress1.com的页面规则,确认没有冲突的重定向规则(比如强制非www转www,但WordPress配置的是www地址,导致循环)。

4. 排查插件/主题的自定义重定向

  • 重命名站点目录下的wp-content/plugins为wp-content/plugins-disabled,刷新站点测试是否恢复正常。
  • 若问题解决,逐个恢复插件并测试,定位触发重定向的插件。
  • 同理,切换到WordPress默认主题(如Twenty Twenty-Four),排查主题内置的重定向逻辑。

5. 确认NGINX重写规则正确

从群晖迁移时若携带了Apache的.htaccess文件,NGINX不会读取该文件,需确保NGINX配置中已包含WordPress核心重写规则:

location / {
  try_files $uri $uri/ /index.php?$args;
}

若原群晖有自定义重定向规则,需转换为NGINX语法添加到站点配置中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:20:29