Answers:
这是完整的指南- 在Wordpress上启用对SSL的完全支持
一个简单的检查is_ssl()
应该做到这一点:
add_action( 'plugins_loaded', 'wpse_2718_force_ssl' );
function wpse_2718_force_ssl()
{
if ( is_ssl() )
return;
wp_redirect(
'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
);
exit;
}
但是我也会在.htaccess中执行此操作以捕获图像:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
对于ISS,请参阅堆栈溢出的答案。
将此规则添加到.htaccess的顶部:
# BEGIN Force SSL
# This should be the first rule before other rules
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>
# END Force SSL
这应该在WordPress规则之前。
我已经在所有客户站点上使用了Really Simple SSL,它的工作原理非常好。如果您不想修改代码,只需安装此插件并对其进行配置。