J'ai créé un nouveau projet rails3 mais je vois plusieurs fois les journaux suivants dans les journaux de mon serveur. Pourquoi je reçois ces demandes et comment puis-je les éviter?
A commencé GET "/apple-touch-icon-precomposed.png" pour 192.168.6.2 le 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 cette ressource est en train d'être chargée.
apple-touch-icon
Akash Agrawal
la source
la source
Réponses:
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 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.
Source: Pourquoi les webmasters devraient analyser leur journal des erreurs 404 (mars 2012; par Martin Brinkmann)
la source
Si un utilisateur du navigateur Web Safari (appareils Apple) visite votre site. Le navigateur essaie de récupérer l'icône du site si elle n'est pas définie
<head>
dans l'ordre suivant:Pour résoudre ce problème, définissez une icône pour les navigateurs Web Safari ou les appareils Apple. Ajoutez quelque chose comme ça à la section tête de votre site:
Si vous voulez rester
<head>
propre, téléchargez l'icône dans le répertoire racine de votre site avec le nom approprié.La taille d'icône par défaut est 57 pixels .
Vous pouvez trouver plus de détails sur la bibliothèque des développeurs iOS .
la source
Si vous avez terminé ici la recherche sur Google, il s'agit d'une configuration simple pour empêcher cette erreur de saturer les journaux du serveur Web:
Apache virtualhost
Bloc serveur Nginx:
PS: Est-il possible que vous vouliez ajouter
apple-touch-icon.png
etfavicon.ico
aussi.la source
Notez que cela peut se produire même lorsque l'utilisateur n'a PAS mis le site en signet sur son écran d'accueil iOS - par exemple, chaque fois que vous ouvrez une page à l'aide de Chrome pour iOS, il le fait
GET "/apple-touch-icon-precomposed.png"
.J'ai traité cela et d'autres demandes non HTML 404 dans mon ApplicationController comme suit:
La
format.all
réponse prend en charge des images telles que ce fichier PNG (qui n'existe pas pour mon site).la source
Il y a un joyau comme quiet_assets qui fera taire ces erreurs dans vos journaux si, comme moi, vous ne vouliez pas avoir à ajouter ces fichiers à votre application Rails:
https://github.com/davidcelis/quiet_safari
la source
Si vous ne vous souciez pas que l'icône soit jolie sur toutes sortes d'appareils Apple, ajoutez simplement
get '/:apple_touch_icon' => redirect('/icon.png'), constraints: { apple_touch_icon: /apple-touch-icon(-\d+x\d+)?(-precomposed)?\.png/ }
à votre
config/routes.rb
fichier et certainsicon.png
à votrepublic
répertoire. Redirection vers404.html
au lieu deicon.png
travaux aussi.la source
J'ai finalement résolu !! Il s'agit d'une fonctionnalité Web Clip sur les appareils Mac. Si un utilisateur souhaite ajouter votre site Web dans Dock o Desktop, il demande cette icône.
plus d'informations: https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
comment résoudre?: Ajoutez une icône pour résoudre le problème.
la source
Une autre solution consiste à simplement ajouter un itinéraire à vos itinéraires.rb
Il intercepte essentiellement la demande Apple et rend un 404 au client. De cette façon, vos fichiers journaux ne sont pas encombrés.
puis ajoutez une méthode 'apple_touch_not_found' à votre application_controller.rb
la source
La même chose se produit pour moi. Et oui, comme l'a dit @Joao Leme, il semble que cela soit lié à la mise en signet d'un site par un utilisateur sur l'écran d'accueil de son appareil.
Cependant, j'ai remarqué que même s'il y a une erreur dans le journal, cela se produit dans les coulisses et l'utilisateur ne voit jamais l'erreur. Je suppose que l'appareil fait une demande pour l'icône tactile spécifique à sa résolution (qui n'est pas là) jusqu'à ce qu'il passe par défaut au général
apple-touch-icon
ouapple-touch-icon-precomposed
, s'il est présent, ou bien génère une petite capture d'écran de la page actuelle.FWIW, placez les icônes dans le répertoire / public.
la source
Créez simplement des fichiers de taille nulle appelés les noms appropriés.
La demande sera satisfaite sans transfert de données supplémentaires ni autres lignes d'enregistrement.
la source
Essayez de changer le lien de
à:
la source
apple-touch-icon-precomposed
dans votre répertoire de projet. Je pense que ce lien est inclus dans le modèle de mise en page, mais je ne le suis pas.