今回は、外部サイトの画像を読み込んだ際にhttpsのページhttpを含む画像を読み込む方法について記事を書いて行きたいと思います。
近年では、Googleの検索結果の上位ページの殆どがhttps化されたサイトであるという例も存在したり、Chomeでもhttpを含んだ混雑コンテンツを段階的にブロックすると発表されるなど、webページのhttps化はもはや必須となってきました。
混雑コンテンツ問題
httpsで作成したサイトから外部サイトのURLを読み込んだ際、httpのURLが混ざっているとhttpsページにならないという問題です。
しかし最近作成していてアンテナサイトで外部ページを読み込んでいるとまだまだ、httpを使って運営しているサイトも多いことを知りました。
アンテナサイトは相互RSSや相互リンクといった独自のアクセス流入減を持っている為、いまのところ気にしていない方もいらっしゃるようです。
というか、まとめサイト王手のライブドアブログが、https化に未だに対応していないものの画像だけはhttpsでしっかり貼ってあるブログもかなり多いみたいですね( ;∀;)
ここまで築き上げてきたサイトですからhttps化されないという理由だけで移転するのはもったいないでしょうね
これから作るページとしてはhttps化したサイトを作っていきたいと思い、どのページもhttps化していきたいところです。
httpの画像を安全に読み込んだっぽくする方法
そもそも、読み込めない外部サイトの画像はhttpでアップされていますので、httpsのページへアップしなおせばいいんですが、アンテナサイトの特性上、大変なので以前ここで紹介したGDライブラリを使ってhttpsのページへいったん読み込んで画像を表示することで、httpの画像をhttps化しました。
画像URLの部分はGETした画像URLを入れるようにして
if(preg_match('/^(http):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $image)){ $image = "./img.php?img={$image}"; }
記事一覧ページなどでは上述のように記事を表示する際に、画像URLにhttpが含まれていればスクリプトを介して読み込むようにしました。
これで、httpの画像のhttps化は完了です(^^♪
コメント