Jetpack Photon をhttpsでも使う

昨日書いた常時SSLでJetpack Photonを使う方法です。
時間経つと忘れて書かなくなるので早いうちに書いておきます。

広告

常時SSL(hhtps)でPhoton CDNを利用する

少しでもサーバー負担を減らせて高速化出来るならと思って、Newショップサイトで活用しようと思ったPhotonですが、どうやらデフォルトではhttpsを演算でフィルターしてしまっているようでした。でも、本家サイトにはhttpsも対応できる風な事が書いてあるわけで色々調べたワケです。
といっても、常時httpsなんてやってるサイトあんまり無いので興味ある人なんて少ないと思いますが、自分でphpと眺めっこしてて非常に苦痛でしたのでメモを残します。

一文字追加するだけ!!

phpを見ていけば結構簡単でしたが、そもそもphpを見始めて数ヶ月の僕には結構大変でした。
多分、テーマのfunctions.phpでフィルターを外す事も出来るのでしょうけど、分からないので直接プラグインをいじります。1文字だけだし。
まずは、プラグイン編集でjetpackからfunctions.photon.php を開きます。

$photon_url  = "http://i{$subdomain}.wp.com/$image_host_path";

65行目くらいに上のの文があるので、ここに(S)を加える。

$photon_url  = "https://i{$subdomain}.wp.com/$image_host_path";

これで、photonを有効化したときの画像パスがhttpsになるんだと思う。

次はclass.photon.php。

// Bail if scheme isn't http or port is set that isn't port 80
if ( ( 'http' != $url_info['scheme'] || ! in_array( $url_info['port'], array( 80, null ) ) ) && apply_filters( 'jetpack_photon_reject_https', true ) )
return false;

456行目くらいの演算でhttpsのフィルターをしているのだと思います。
で、ここにも(S)

// Bail if scheme isn't http or port is set that isn't port 80
if ( ( 'https' != $url_info['scheme'] || ! in_array( $url_info['port'], array( 80, null ) ) ) && apply_filters( 'jetpack_photon_reject_https', true ) )
return false;

これで常時SSLでもPhotonを有効に出来ます。
ウチは外してしまいましたが・・・・ アクセスが凄くなる事があれば使います。無さそうだけど・・・・

ただ、一つ疑問なのは、最後の

apply_filters( 'jetpack_photon_reject_https', true ) )

↑これ
jetpack_photon_reject_https’, trueのままでも有効になったんですよねー。falseは試してません。とりあえず有効化出来たので良しとしました。

ではでは・・・


おすすめのコンテンツ

広告

コメントを残す

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

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