Néhány napja egy általam fenntartott webhelyről származó képek nem jelennek meg a Gmailben. A Google Image Cache Proxy 404-et ad vissza minden képen. Meg tudom erősíteni, hogy azok elérhetők a szerveren is, és a hírlevél a gmail.com-on kívül is jól jelenik meg, még a Gmail saját mobilalkalmazásában is (nyilván nem használja a Google Image alkalmazást Meghatalmazott). Még azt is meg tudom erősíteni, hogy a Google botja rendszeresen lekéri ezeket a képeket magáról a szerverről, a szerver 200 állapotra válaszolva elküldi a képet. A szóban forgó képek png és jpg, nem svgs (amelyekről úgy tűnik, hogy korábban problémák voltak) kutatásom szerint)
Van-e erre ismert gyógymód és miért gonosz a Google? Van-e erre külön fejléc? Például a Cache-Control fejlécre, amelyet a képproxyjuk megkövetel konkrétan?
Válasz
A PHP alkalmazás sérült képet szolgált, amikor a Google Bot által küldött Accept-Language fejlécet nem megfelelően kezelték. helytelen kezelés történt, amikor nem küldtek extra fejléceket az oldalra.
Azon az oldalon, ahol képnek kellett lennie, egy figyelmeztetés volt:
Undefined index: HTTP_ACCEPT_LANGUAGE in /var/www/myweb.com/public/constants.php on line 3
Az értesítés 200 HTTP állapotról számol be, ezért nem sikerült azonnal elkapnom. A Google Bot azonban érvénytelen képként kapta meg, viszont viszont 404-es hibát kért.
Megoldottam a php-intl csomag telepítésével.