鹿泽鹿泽  2024-10-22 09:14:37 鹿泽笔记 隐藏边栏  1 

网站刚配置好https就碰见了一个问题,即登录WordPress后台的时候提示重定向的次数过多。

如果使用云服务器配置https后wordpress后台无法登录,提示重定向的次数过多,只需要在网站根目录的wp-config.php开头加入以下代码,即可完美解决此问题:

$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

又或者这个方法:

首先使用phpmyadmin或其它管理工具将数据库中找到wp-options数据表,将里面option_name为siteurl和home的option_value值中的网址的http替换为https;

然后继续修改wp-includes/load.php这个文件,搜索is_ssl找到对应的函数,将$_SERVER[‘HTTPS’]修改为$_SERVER[“HTTP_FROM_HTTPS”](修改文件前请注意备份)。

或将此函数修改为:

function is_ssl() {
	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'){
		return true;
	}
	elseif (isset($_SERVER["HTTP_FROM_HTTPS"])&&$_SERVER["HTTP_FROM_HTTPS"]=='on'){
		return true;
	}
	elseif (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){
		return true;
	}
	else{
		return false;
	}
}

这两种方法或许对某种情况下有效,但我在修改过之后发现没有用,最终我的解决方案是修改了伪静态,我使用的是Nginx服务器,只需要把伪静态规则修改为如下规则即可:

location / {
  if (-f $request_filename/index.html){
          rewrite (.*) $1/index.html break;
      }
  if (-f $request_filename/index.php){
          rewrite (.*) $1/index.php;
      }
  if (!-f $request_filename){
          rewrite (.*) /index.php;
      }
  }
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505