He creado un nuevo proyecto rails3 pero veo los siguientes registros muchas veces en los registros de mi servidor. ¿Por qué recibo estas solicitudes y cómo puedo evitarlas?
Comenzó GET "/apple-touch-icon-precomposed.png" para 192.168.6.2 en 2012-09-18 20:03:53 +0530
ActionController :: RoutingError (Ninguna ruta coincide con [GET] "/apple-touch-icon-precomposed.png"):
No he dado este enlace en ninguna parte y no quiero renderizar esta imagen en ninguna parte. No tengo idea de por qué se está intentando cargar este recurso.
apple-touch-icon
Akash Agrawal
fuente
fuente
Respuestas:
Supongo que los dispositivos de Apple hacen esas solicitudes si el propietario del dispositivo le agrega el sitio. Este es el equivalente del favicon. Para resolverlo, agregue 2 archivos png 100 × 100, guárdelo como apple-touch-icon-precomposed.png y apple-touch-icon.png y cárguelo en el directorio raíz del servidor. Después de eso, el error debería desaparecer.
Fuente: Por qué los webmasters deberían analizar su registro de errores 404 (marzo de 2012; por Martin Brinkmann)
fuente
Si un usuario del navegador web Safari (dispositivos Apple) visita su sitio. El navegador intenta buscar el icono del sitio si no está definido
<head>
en el siguiente orden:Para resolver este problema, defina un icono para los navegadores web de safari o dispositivos Apple. Agregue algo como esto a la sección principal de su sitio:
Si desea mantenerse
<head>
limpio, cargue el icono en el directorio raíz de su sitio con el nombre adecuado.El tamaño predeterminado del icono es 57px .
Puede encontrar más detalles sobre la biblioteca para desarrolladores de iOS .
fuente
Si terminó aquí buscando en Google, esta es una configuración simple para evitar que este error esté lleno en los registros del servidor web:
Apache virtualhost
Bloque de servidor Nginx:
PD: es posible que quieras agregar
apple-touch-icon.png
yfavicon.ico
también.fuente
Tenga en cuenta que esto puede suceder incluso cuando el usuario NO haya marcado el sitio como favorito en su pantalla de inicio de iOS; por ejemplo, cada vez que abre una página con Chrome para iOS, lo hace
GET "/apple-touch-icon-precomposed.png"
.He manejado esta y otras solicitudes no HTML 404 en mi ApplicationController de la siguiente manera:
La
format.all
respuesta se ocupa de imágenes como este archivo PNG (que no existe para mi sitio).fuente
Hay una gema como quiet_assets que silenciará estos errores en sus registros si, como yo, no desea tener que agregar estos archivos a su aplicación Rails:
https://github.com/davidcelis/quiet_safari
fuente
Si no le importa que el icono se vea bonito en todo tipo de dispositivos Apple, simplemente agregue
get '/:apple_touch_icon' => redirect('/icon.png'), constraints: { apple_touch_icon: /apple-touch-icon(-\d+x\d+)?(-precomposed)?\.png/ }
a su
config/routes.rb
archivo y algunosicon.png
a supublic
directorio. Redirigir a en404.html
lugar deicon.png
funciona también.fuente
Finalmente lo resolví !! Es una función de Web Clip en dispositivos Mac. Si un usuario desea agregar su sitio web en Dock o Desktop, solicita este icono.
Más información: https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
¿Cómo resolverlo ?: agregue un icono para resolver el problema.
fuente
Una solución alternativa es simplemente agregar una ruta a sus route.rb
Básicamente capta la solicitud de Apple y devuelve un 404 al cliente. De esta manera, sus archivos de registro no están abarrotados.
luego agregue un método 'apple_touch_not_found' a su application_controller.rb
fuente
Lo mismo me está pasando. Y sí, como dijo @Joao Leme, parece que está relacionado con un usuario que marca un sitio en la pantalla de inicio de su dispositivo.
Sin embargo, noté que a pesar de que hay un error en el registro, está sucediendo detrás de escena y el usuario nunca ve el error. Supongo que el dispositivo hace una solicitud para el ícono táctil específico para su resolución (que no está allí) hasta que el valor predeterminado sea general
apple-touch-icon
oapple-touch-icon-precomposed
, si está presente, o de lo contrario genera una pequeña captura de pantalla de la página actual.FWIW, coloca los íconos en el directorio / public.
fuente
Simplemente cree archivos de tamaño cero llamados los nombres apropiados.
La solicitud se satisfará sin transferencia de datos adicionales ni líneas de registro adicionales.
fuente
Intenta cambiar el enlace de
a:
fuente
apple-touch-icon-precomposed
en tu directorio de proyectos. Creo que este enlace está incluido en la plantilla de diseño, pero no estoy seguro.