私は 'テンプレートリダイレクト'機能にフックして301 httpsリダイレクトを強制しようとしています。私のパーマリンクを更新すると、httpsリダイレクトのあるhtaccessが消えるので、私はそれを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();
}
}
}
Httpsを非常に簡単な方法で追加することができます。
.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プラグインをインストールして設定します。
それで全部です