WordPress SSL安全组证书配置后 后台正常 前台重定向死循环
不知道什么原因,一般wordpress开启ssl都是很简单的,但是有时候还是会碰到莫名其妙的死循环。往上google 百度了一大圈,看别人都是前台https访问正常,后台访问重定向死循环,他们的解决方法是装 Really Simple SSL 插件 或者修改wp-config.php配置
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
但这个对我这个问题没什么卵用。
后面搜了一大圈,最终找到解决方案,至于原因不明(个人猜测是网站本地部署后,搬移到线上配置问题,导致template_redirect函数死循环,但http又没什么问题),这里记录下修改方法。
注释 wp-include/template-loader.php 13行 do_action( 'template_redirect' );即可。
同时附上开启全站ssl的.htaccess代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}$1 [L,R=301]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Cloudflare中死循环
服务器自己装证书,然后再开cloudflare SSL,模式选full
wp-config.php加$_SERVER['HTTPS']='on'; ->这个不确定需不需要
貌似用cloudflare的证书,然后打开Always Use HTTPS也是可以