我试图通过挂接到“模板重定向”功能来强制301 https重定向。我不想使用htaccess,因为当我更新permalinks时,带有https重定向的htaccess就会消失。
因此,使用此函数,如果url加载了“http”,我想进行重定向,但什么也没有发生。有人能帮我吗?
add_action( \'template_redirect\', \'bhww_ssl_template_redirect\', 1 );
function bhww_ssl_template_redirect() {
if ( is_ssl() && !is_admin() ) {
if ( 0 === strpos( $_SERVER[\'REQUEST_URI\'], \'http\' ) ) {
wp_redirect( preg_replace( \'|^https://|\', \'http://\', $_SERVER[\'REQUEST_URI\'] ), 301 );
exit();
} else {
wp_redirect( \'http://\' . $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\'], 301 );
exit();
}
}
}
最合适的回答,由SO网友:Bikram Pahi 整理而成
我们可以用非常简单的方式添加https。。。。不需要在任何钩子中编写所有这些代码。。。。
登录wordpress管理员,进入设置>常规,找到wordpress地址(URL)并用HTTPS替换HTTP,找到站点地址(URL)并用HTTPS替换HTTP,单击Save Changes编辑。htaccess文件并添加以下代码
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^huepixel\\.com$ [NC]
RewriteRule ^ https://www.huepixel.com%{REQUEST_URI} [L,R=301]
安装wordpress https插件并进行配置。。。。
仅此而已