إن كانت الصفحة تُرسَم والصورُ مكسورة فـHTML بخير وشيءٌ في طلبات الصور ليس كذلك. افتح لوحة الشبكة، وأعد التحميل، واقرأ عمود الحالة في ضوء الأسباب الأربعة أدناه.

٤٠٤ — المسار خاطئ

curl -sSI https://yourdomain.com/img/rack.webp | head -1
ls -la /var/www/site/public/img/rack.webp

على لينكس يميّز اسمُ الملفّ حالة الأحرف. فـRack.webp وrack.webp ملفّان مختلفان، ولهذا يفقد موقعٌ طُوِّر على ويندوز أو ماك صورَه لحظةَ نشره.

٤٠٣ — موجودٌ ولا يُقرأ

sudo -u www-data test -r /var/www/site/public/img/rack.webp && echo readable || echo NOT readable
namei -l /var/www/site/public/img/rack.webp

الأمر namei يمشي في كل مجلّدٍ من المسار. فمجلّدٌ أبٌ واحد بلا إذن تنفيذ يحجب كلَّ ما تحته بينما يبدو الملفّ نفسه سليمًا تمامًا.

محجوبٌ أو محتوًى مختلط

صورةٌ تُطلَب على http في صفحة https يحجبها المتصفّح ويعرضها في وحدة التحكّم محتوًى مختلطًا. انظر المحتوى المختلط بعد الانتقال إلى HTTPS. ومانعُ الإعلانات كذلك يُسقط كلَّ ما يحوي مساره كلماتٍ مثل ads أو banner.

٢٠٠ ومع ذلك لا تظهر

  • الملفُّ ليس بالصيغة التي يدّعيها اسمه — كصفحةِ خطأ HTML محفوظةٍ باسم ‎.jpg مثلًا.
  • أو أعادت شبكةُ التوزيع خطأً مخزَّنًا. فرِّغ ذلك المسار واطلبه من جديد.
  • أو الصورةُ موجودة وارتفاعها صفر، وذلك من CSS لا من الملفّ.
file /var/www/site/public/img/rack.webp
curl -sS https://yourdomain.com/img/rack.webp | head -c 20 | xxd | head -2
وإن كان كلُّ ما سبق سليمًا محلّيًّا ومكسورًا عبر وسيط، فاطلب الأصل مباشرةً بالخيار --resolve وقارن. فذلك يشطر المشكلة نصفين بأمرٍ واحد.