“さくらのレンタルサーバ”でWordPressを常時httpsにしてみた (暫定対処)

何がいかんのかなーと、前回の推測を基に、調べておりました。
暫定対処の結論としては、wp-config.php 最期に以下を追加しただけでした。
$_SERVER['HTTPS'] = 'on';

※ WordPress 4.5.3 時点

調べた手順ですが、
まずは httpsで個別の記事にアクセスして、ブラウザでソースを確認。
なぜか httpsでアクセスしているのに、スタイルシートの読み込み等、一部の src= のリンクが httpになっている。
ここで、この http:// をつけていると思われる場所を探しました。
わかりませんでしたがw
wp-content/plugins/autoptimize/classes/autoptimizeBase.php
あたりが怪しいかなと、ソースを見ると、32行目あたりから始まる normalizeというコメントが書かれた中で、is_ssl() という関数の結果を見て、httpsと httpを切り替えているようでした。

該当箇所がこのソースかどうかはわからないけれど、どうせ似たような事をやっているはずなので、is_ssl()を見ればいいんだなと推測しました。

で、定義されていたのは wp-includes/functions.php でした。
4018行目あたりから始まる is_ssl を見ると、$_SERVER[‘HTTPS’]や $_SERVER[‘SERVER_PORT’]を基に現在のアクセスが httpsか httpかを判定しているようでして。
どうやらここで、さくらインターネットのレンタルサーバ(スタンダード)の問題が生じるようでした。

てことは is_ssl()の結果が trueになるように、wp-configで $_SERVER[‘HTTPS’] を設定してやればいいのかなーと思うじゃん?
is_ssl()では最初の評価で、
if ( 'on' == strtolower($_SERVER['HTTPS']) )
をやってるので、これが trueになるのがよかろうと、前述の設定を追記してみました。
そして試しにやってみたらうまく動いているようでした。

あとは設定→一般で、アクセスを全て httpsに統一してみました。
サイトアドレス
これでしばらく様子を見てみようかな。(問題が無ければそのまま忘れそう)

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください