WordPress开启HTTPS后提示“将您重定向的次数过多”解决办法
今天有个朋友网站搬家后然后加上HTTPS后,再打开发现提示将您重定向的次数过多 ERR_TOO_MANY_REDIRECTS的错误,类似如下图:
错误截图
错误原因
出现这种原因,通常是我们给站点开启了HTTPS,但是站点上又有部分资源网址没有替换到HTTPS导致的。
当网站开启了HTTPS后,浏览器会期望所有的资源(如图片、脚本、样式表等)都通过安全的HTTPS连接加载。如果部分内容(如图片、脚本等)仍然通过非HTTPS连接加载,浏览器会发出警告,因为这可能会导致安全漏洞。为了保护用户数据安全,浏览器会尝试不断地重定向这些非HTTPS的资源到HTTPS连接,以确保所有内容都通过安全连接加载。
这种情况下会导致重定向次数过多的错误,因为浏览器不断尝试重定向这些资源,但由于这些资源本身并没有提供HTTPS支持,所以重定向会陷入无限循环,最终触发了重定向次数过多的错误。
解决办法
打开WordPress网站根目录,找到 wp-config.php 文件,找到/* That’s all, stop editing! Happy publishing. */这行文字,在它的前面加入下面这句代码:
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
这段代码的意思是将$_SERVER[‘HTTPS’]变量设置为’on’,表示当前连接使用SSL/TLS进行加密。并强制将WordPress网站的登录和管理页面使用SSL加密连接。
FORCE_SSL_LOGIN和FORCE_SSL_ADMIN是两个常量介绍:
它们用于强制网站的登录和管理页面使用SSL加密连接。
FORCE_SSL_LOGIN常量设置为true时,会强制要求WordPress的登录页面使用SSL加密连接。这意味着用户在登录时,其用户名和密码将通过加密的方式进行传输,提高了安全性。
FORCE_SSL_ADMIN常量设置为true时,会强制要求WordPress的管理页面(即后台)使用SSL加密连接。这包括了管理面板中的所有页面和功能,确保管理员和编辑对网站进行操作时,数据传输都是通过加密的方式进行的,从而提高了网站的安全性。
加入完上述代码后,建议你清除下浏览器缓存,然后重新访问你的WordPress网站后台,这个时候你就会发现网站后台可以正常打开了。
成功登陆后台后,在设置》常规中修改下你的WordPress地址(URL)和 站点地址(URL),把他们都改成带HTTPS的地址:
如果还不行可检查下如下问题:
- 是否清理浏览器缓存>没清理的话清理一下
- 先禁用网站 .htaccess 文件设置
- 重启下服务器/清理缓存
WordPress配置HTTPS后可能也会出现如下问题,您可以参考解决: