293 votes

Pourquoi est-ce que je reçois une erreur pour apple-touch-icon-precomposed.png

J'ai créé un nouveau projet rails3 mais je vois les logs suivants plusieurs fois dans les logs de mon serveur. Pourquoi est-ce que je reçois ces requêtes et comment puis-je les éviter ?

Démarrage de GET "/apple-touch-icon-precomposed.png" pour 192.168.6.2 à 2012-09-18 20:03:53 +0530

ActionController::RoutingError (aucune route ne correspond à [GET]) "/apple-touch-icon-precomposed.png") :

Je n'ai donné ce lien nulle part et je ne veux pas rendre cette image nulle part. Je ne sais pas pourquoi on essaie de charger cette ressource.

266voto

Joao Leme Points 2217

Je suppose que les appareils Apple font ces demandes si le propriétaire de l'appareil y ajoute le site. C'est l'équivalent du favicon. Pour résoudre ce problème, ajoutez 2 fichiers png 100×100, enregistrez-les sous les noms apple-touch-icon-precomposed.png et apple-touch-icon.png et téléchargez-les dans le répertoire racine du serveur. Après cela, l'erreur devrait disparaître.

J'ai remarqué beaucoup de demandes pour apple-touch-icon-precomposed.png et apple-touch-icon.png dans les journaux qui ont essayé de charger les images à partir du répertoire racine du site. J'ai d'abord pensé qu'il s'agissait d'une mauvaise configuration du thème et du plugin mobile, mais j'ai découvert plus tard que les appareils Apple font ces demandes si le propriétaire de l'appareil y ajoute le site.

Source : Pourquoi les webmasters devraient analyser leur journal d'erreurs 404 (Mar 2012 ; par Martin Brinkmann)

90voto

Anand Kumar Points 151

Si un utilisateur du navigateur Web Safari (appareils Apple) visite votre site. Le navigateur tente de récupérer l'icône du site si elle n'est pas définie dans la section <head> dans l'ordre suivant :

  1. apple-touch-icon-57x57-precomposed.png
  2. apple-touch-icon-57x57.png
  3. apple-touch-icon-precomposed.png
  4. apple-touch-icon.png

Pour résoudre ce problème, il faut définir une icône pour les navigateurs Web Safari ou les appareils Apple. Ajoutez quelque chose comme ceci à la section d'en-tête de votre site :

<link rel="apple-touch-icon" href="http://stackoverflow.com/custom_icon.png"/>

Si vous voulez garder <head> nettoyer puis télécharger l'icône dans le répertoire racine de votre site avec le nom approprié.

Le site la taille par défaut de l'icône est de 57px .

Vous pouvez trouver plus de détails sur Bibliothèque pour développeurs iOS .

5voto

Tinynumbers Points 171

Notez que cela peut se produire même si l'utilisateur n'a PAS ajouté le site à son écran d'accueil iOS. Par exemple, chaque fois que vous ouvrez une page à l'aide de Chrome pour iOS, il effectue une recherche de type GET "/apple-touch-icon-precomposed.png" .

J'ai traité cette demande et d'autres demandes 404 non-HTML dans mon ApplicationController comme suit :

respond_to do |format|
  format.html { render :template => "error_404", :layout => "errors", :status => 404 }
  format.all { render :nothing => true, :status => 404 }
end

Le site format.all se charge des images telles que ce fichier PNG (qui n'existe pas sur mon site).

0voto

Sooie Points 398

La même chose se produit pour moi. Et oui, comme l'a dit @Joao Leme, il semble que cela soit lié à un utilisateur qui met un site en signet sur l'écran d'accueil de son appareil.

Cependant, j'ai remarqué que même si une erreur apparaît dans le journal, elle se produit en coulisses et l'utilisateur ne la voit jamais. Je suppose que le périphérique fait une demande pour l'icône tactile spécifique à sa résolution (qui n'existe pas) avant de revenir à l'icône générale. apple-touch-icon ou apple-touch-icon-precomposed si elle est présente, ou bien elle génère une petite capture d'écran de la page actuelle.

Pour info, mettez les icônes dans le répertoire /public.

-4voto

Jju Points 71

Essayez de changer le lien de

/apple-touch-icon-precomposed.png 

à :

<%=asset_path "apple-touch-icon-precomposed.png" %>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X