お世話になります。
タイトルの通り、nginxとPHP-FPMでWebサービスを運用しているのですが、エラーログに「No such file or directory」が大量に出力され、何事かと思ったらすべて「@2x」の読み込みに失敗している、という内容でした。
おそらく、Retina対応デヴァイスからアクセスすると、すべて@2xを読み込もうとして出ているエラーではないかと認識しております。たしかに@2x画像は用意しておりません。
画像もたくさんあることから、今から@2xをすべて生成することは非現実的な状態です。
このエラーを回避するためには、どのような対処が最良でしょうか。Retina対応デヴァイスで見た時の画像の鮮明さにはこだわっていないので、可能なら、Retinaでも通常でも同じ画像ファイルを読み込むようにし、エラーを回避したいと考えています。
以上、よろしくお願い致します。
コンテンツは、どうやって作ってますか?
Wordpress を使ってるとか、自作の PHP スクリプトにどこぞの HTML テンプレートをかませているとか。
Retina 対応は、srcset 属性を使って明示的に Retina 用の画像を指定するか、CSS もしくは javascript を使って画像を切り替えるように、コンテンツで作り込みます。
デバイスが勝手に Retina 用の画像を要求してくるわけではありません。
ご自分で意識していないということは、Retina 用に属性を変更したりするような javascript の処理が導入されているんじゃないかと想像します。
参考:Webサイト&WebアプリのRetina対応方法まとめ | KRAY Inc
そのサイトって、URL を公開できたりしますか?
現物を確認してみるのが早いんじゃないかと思うので。
PHP のスクリプトを修正することに抵抗があるのであれば、retina.js でアクセスしてきた環境が Retina かどうかを判定している個所があるので、それを無効にするような修正を入れるのもひとつの手だと思います。
retina.js の 50行目(最新だったら)。
https://github.com/imulus/retinajs/blob/master/src/retina.js#L50
2015/06/09 10:33:24a-kuma3様
2015/06/09 21:16:39全くもっておっしゃるとおりでした。一つ目にご教示頂いた内容で対応をしましたら、エラーが皆無となりました。
完全に考え方が反対だったのですね。お恥ずかしい限りです。。
この度は誠にありがとうございました。