网站刚配置好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
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505