現役プログラマのプログラミング教室@岡崎市康生, Android/iOS(Swift/Kotlin)のアプリ開発、デジタル漫画制作を主軸事業としています。

さくらwordpressのSSL化でfile_get_contentsがエラーになる!?

さくらスタンダードでもlet’s encrypt感謝でwordpressも無料でSSL化が出来るということでやってみました。
本当に簡単で、さくらのレンタルサーバ 簡単SSL化プラグイン「SAKURA RS SSL」を入れるだけ。
ものの見事に変更できたのですが、なんと自前のRSSを取得するのにfile_get_contentsを使っていたのですが、

 
Redirection limit reached

え!?

まさかの自前でエラーがでてるとはつゆ知らず、、、だってブラウザでたたいてもRSS取得できるのでcronでエラーでてても気づかないですよね、、、
どうもhttpの場合はhttpsでリダイレクトする設定がhtaccessに記載されてるのですが
cURLでアクセスする場合はhttpsの環境が読み取れないみたいなんですね。
なので、今回は自分のサイトからのアクセスの場合はリダイレクトしないという設定をいれいました。
RewriteCond %{REMOTE_ADDR} !=49.212.123.234
を追加しました。
具体的に言うとwordpressをインストールした直下の.htaccess(おそらくプラグインで上書きされてると思います)に上記条件を追加

 

RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteCond %{REQUEST_URI} !/wp-cron\.php$
# RSS取得エラー防止
RewriteCond %{REMOTE_ADDR} !=xx.xxx.xxx.234
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# END Force SSL for SAKURA
# BEGIN SAKURA Internet Inc.