
このブログでは一部のAmazonアソシエイト広告に、RSSから取得した画像(のURL)を使用していた。RSSはAmazon側で自動更新されるので、手動で変更する必要がなくて楽だからだ。
ところがつい先日、その広告の画像が正常に取得できていないことに気がついた。全てのリンクに「画像はありません」という汎用イメージが表示されていたのだ。どうやら、何らかの理由で上手く呼び出せなくなってしまったらしい。
早速AmazonのRSSを調べてみたところ、画像のURLが変わっていたことを発見した。端的には「httpがSSL対応のhttpsになっており、さらにその後のアドレスも微妙に変更されていた」ことにより、画像が呼び出せなくなっていたのだ。具体的に新旧を比べてみると、以下のようになる。
旧URL
http://ecx.images-amazon.com/images/
新URL
https://images-fe.ssl-images-amazon.com/images/
または、以下のURLも使われているようだ。
https://images-na.ssl-images-amazon.com/images/
新しいURLで検索してみるとサイトやブログ自体をSSL化した記事がいくつか引っかかってくるのだが、このブログは非SSLの「http://~」タイプなので直接は関係ない。しかし、確認してみるとAmazonのURLが「https://~」になっており、問題のRSSフィードもSSLになっていた。つまり、Amazon自体がSSL化して、それによって影響を受けたということなのかもしれない。通常、URLは自動でリダイレクトしてくれるのだが、スクリプトでURLを抜き出したり書き換えたりしている関係上、問題が出てしまったのだろう。
その後、スクリプト自体に小さい修正を加えることによって、問題は解決した。同じようなトラブルが起こっている人には、参考になるかもしれない。
この記事へのコメント
コメント機能を利用するにはログインする必要があります。「Disqus」または「Twitter」「Google」「Facebook」などのアカウントが使用できます。