Eu criei um novo projeto rails3, mas estou vendo os seguintes logs muitas vezes nos logs do meu servidor. Por que estou recebendo essas solicitações e como evitá-las?
Iniciado GET "/apple-touch-icon-precomposed.png" para 192.168.6.2 em 18-09-2012 20:03:53 +0530
ActionController :: RoutingError (Nenhuma rota corresponde a [GET] "/apple-touch-icon-precomposed.png"):
Não forneci este link em nenhum lugar e não quero renderizar esta imagem em nenhum lugar. Não sei por que razão este recurso está sendo carregado.
apple-touch-icon
Akash Agrawal
fonte
fonte
Respostas:
Acho que os dispositivos da Apple fazem essas solicitações se o proprietário do dispositivo adicionar o site a ele. Isso é o equivalente ao favicon. Para resolver, adicione 2 arquivos 100 × 100 png, salve-os como apple-touch-icon-precomposed.png e apple-touch-icon.png e faça o upload para o diretório raiz do servidor. Depois disso, o erro deve ter desaparecido.
Fonte: Por que os webmasters devem analisar seu log de erros 404 (março de 2012; por Martin Brinkmann)
fonte
Se um usuário do navegador Safari (dispositivos Apple) visitar seu site. O navegador tenta buscar o ícone do site se ele não estiver definido na
<head>
seguinte ordem:Para resolver esse problema, defina um ícone para navegadores da Web safari ou dispositivos apple. Adicione algo parecido com isto na seção principal do seu site:
Se você quiser se manter
<head>
limpo, faça o upload do ícone para o diretório raiz do seu site com o nome adequado.O tamanho padrão do ícone é 57px .
Você pode encontrar mais detalhes na biblioteca de desenvolvedores do iOS .
fonte
Se você terminou aqui pesquisando no Google, esta é uma configuração simples para evitar esse erro nos logs do servidor da Web:
Apache virtualhost
Bloco do servidor Nginx:
PS: É possível que você deseja adicionar
apple-touch-icon.png
efavicon.ico
também.fonte
Observe que isso pode acontecer mesmo quando o usuário NÃO marcou o site como favorito na tela inicial do iOS - por exemplo, sempre que você abre uma página usando o Chrome para iOS, ele faz isso
GET "/apple-touch-icon-precomposed.png"
.Eu lidei com essa e outras solicitações 404 não HTML no meu ApplicationController da seguinte maneira:
A
format.all
resposta cuida de imagens como este arquivo PNG (que não existe no meu site).fonte
Há uma jóia como quiet_assets que silenciará esses erros nos seus logs se, como eu, você não quiser adicionar esses arquivos ao seu aplicativo Rails:
https://github.com/davidcelis/quiet_safari
fonte
Se você não se importa com o ícone bonito em todos os tipos de dispositivos Apple, basta adicionar
get '/:apple_touch_icon' => redirect('/icon.png'), constraints: { apple_touch_icon: /apple-touch-icon(-\d+x\d+)?(-precomposed)?\.png/ }
para o seu
config/routes.rb
arquivo e algunsicon.png
para o seupublic
diretório. Redirecionando para em404.html
vez deicon.png
funciona também.fonte
Eu finalmente resolvi !! É um recurso Web Clip em dispositivos Mac. Se um usuário deseja adicionar seu site no Dock o Desktop, ele solicita esse ícone.
mais informações: https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
como resolver ?: Adicione um ícone para resolver o problema.
fonte
Uma solução alternativa é simplesmente adicionar uma rota às suas rotas.rb
Basicamente, ele captura a solicitação da Apple e renderiza um 404 de volta ao cliente. Dessa forma, seus arquivos de log não são desordenados.
adicione um método 'apple_touch_not_found' ao seu application_controller.rb
fonte
A mesma coisa está acontecendo para mim. E sim, como o @Joao Leme disse, parece que está relacionado a um usuário que está adicionando um site aos favoritos na tela inicial do dispositivo.
No entanto, notei que, embora haja um erro no log, isso está acontecendo nos bastidores e o usuário nunca vê o erro. Presumo que o dispositivo faça uma solicitação para o ícone de toque específico para sua resolução (que não existe) até o padrão geral
apple-touch-icon
ouapple-touch-icon-precomposed
, se presente, ou gerar uma pequena captura de tela da página atual.FWIW, coloque os ícones no diretório / public.
fonte
Basta criar arquivos de tamanho zero chamados de nomes apropriados.
A solicitação será atendida sem transferência adicional de dados nem outras linhas de registro.
fonte
Tente alterar o link de
para:
fonte
apple-touch-icon-precomposed
no diretório do projeto. Acho que esse link foi incluído no modelo de layout, mas não sou o shure.