Hostinger VPS上WordPress默认Nginx配置出现ERR_TOO_MANY_REDIRECTS错误
解决WordPress在CloudPanel+Nginx环境下的重定向循环与登录失败问题
问题现象
在Hostinger VPS上通过CloudPanel搭配Nginx部署WordPress,重装后站点正常运行10分钟后出现ERR_TOO_MANY_REDIRECTS无法访问;访问wp-login.php输入用户名密码后页面仅刷新,无法完成登录。Nginx错误日志、PHP-FPM错误日志及WordPress日志均无报错信息,修改文件权限、禁用插件无效,但使用Hostinger自带的srv....hostinger.cloud域名时无此问题。
核心原因分析
- 域名与WordPress站点URL不匹配:自定义域名替换Hostinger自带域名后,WordPress的
siteurl和home配置未同步更新,导致内部跳转逻辑冲突,引发重定向循环。 - Nginx配置冗余重定向规则:现有配置中存在多处重复的HTTPS跳转规则,不同server块的规则相互触发形成循环;同时8080端口的server块中强制HTTPS跳转的规则与外部Nginx的跳转逻辑冲突。
解决方案
1. 强制同步WordPress站点URL
直接在wp-config.php文件中添加以下配置,跳过数据库修改,强制指定站点URL:
define('WP_HOME','https://www.casamarx.com.br'); define('WP_SITEURL','https://www.casamarx.com.br');
保存文件后,重启对应版本的PHP-FPM服务:
systemctl restart php8.2-fpm # 根据实际PHP版本调整命令
2. 优化Nginx配置,消除冗余重定向
步骤1:拆分HTTP跳转规则
删除现有配置中第二个server块的listen 80、listen [::]:80监听,以及内部的if ($scheme != "https")重写规则。新增一个专门处理HTTP到HTTPS跳转的server块:
server { listen 80; listen [::]:80; server_name casamarx.com.br www.casamarx.com.br www1.casamarx.com.br; return 301 https://www.casamarx.com.br$request_uri; }
步骤2:修正8080端口的server块规则
注释或删除8080 server块中的强制HTTPS跳转规则,避免与外部Nginx的跳转逻辑冲突:
# rewrite /wp-admin$ https://$host$uri permanent;
可选:替换为相对路径跳转,修复/wp-admin无斜杠的跳转问题:
rewrite /wp-admin$ $uri/ permanent;
步骤3:重新加载Nginx配置
保存修改后,先验证配置有效性,再重启Nginx:
nginx -t systemctl reload nginx
3. 清除缓存
- 浏览器端:按
Ctrl+F5强制刷新页面,或手动清除浏览器缓存 - 服务器端:清理CloudPanel内置缓存(若有),以及Nginx临时缓存文件
4. 验证SSL证书
确认SSL证书包含casamarx.com.br和www.casamarx.com.br两个域名,避免因证书不匹配导致的隐性重定向问题。
内容的提问来源于stack exchange,提问作者João Guidugli
相关产品推荐
相关产品推荐

