さくらインターネットさん のレンサバを SSL 化して WordPress を使うときの備忘

この記事は公開されてから時間が経っています

さくらインターネットさんのレンタルサーバーで を利用してサイトを SSL 化し、 を利用ています

この構成で、とある通販サイトを WordPress のプラグイン利用して立ち上げようとしたのですが、ブラウザーがセキュリティー警告を出してしまいます
HTTP_X_SAKURA_FORWARDED_FOR を利用し回避するのが一般的なようですが、それでは間に合わなかったので追加の回避方法をとりました

忘れないように書き残しておきます

IE は 「セキュリティーで保護された….」 [すべてのコンテンツを表示]という表示がされ、
Chrome の場合は「このページは承認されていないソースからのスクリプトを読み込もうとしています」と言う表示が楯のアイコンとともに表示されてしまいます
FF は、アドレスバーの鍵のアイコンの上に ! が表示され、ページが表示出来ません

無題_

いろいろなサイトさんを参考に

if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
    $_SERVER['HTTPS'] = 'on';
    $_ENV['HTTPS'] = 'on';
    $_SERVER['HTTP_HOST'] = 'example.jp';
    $_SERVER['SERVER_NAME'] = 'example.jp';
    $_ENV['HTTP_HOST'] = 'example.jp';
    $_ENV['SERVER_NAME'] = 'example.jp';
}

こんなのを wp-config.php に突っ込みました

この他、テーマの header.php と、(これが重要!) footer.php にも、こんな対策をするとよい様です!

<?php
   ob_start();
   wp_head();
   $wp_head_contents = ob_get_clean();
   $wp_head_contents = str_replace('http://', '//',$wp_head_contents);
   echo($wp_head_contents);
?>

これは header.php
footer.php は

<?php //wp_footer(); ?>
<?php
    ob_start();
    wp_footer();
    $wp_footer_contents = ob_get_clean();
    $wp_footer_contents = str_replace('http://', '//',$wp_footer_contents);
    echo($wp_footer_contents);
?>

こんな感じで何とかなりました

http:// を // にしてしまうので、プロクシの問題を回避出来るようです…
これ、このブログにも入れないと….

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です