Я создал новый проект rails3, но я вижу много раз следующие журналы в журналах моего сервера. Почему я получаю эти запросы и как их избежать?
Запустил GET "/apple-touch-icon-precomposed.png" для 192.168.6.2 в 2012-09-18 20:03:53 +0530
ActionController :: RoutingError (Нет подходящих маршрутов [GET] "/apple-touch-icon-precomposed.png"):
Я нигде не давал эту ссылку и не хочу нигде отображать это изображение. Я не понимаю, почему этот ресурс пытаются загрузить.
apple-touch-icon
Акаш Агравал
источник
источник
Ответы:
Я думаю, что устройства Apple делают эти запросы, если владелец устройства добавляет сайт к нему. Это эквивалент значка. Чтобы решить, добавьте 2 файла 100 × 100 png, сохраните их как apple-touch-icon-precomposed.png и apple-touch-icon.png и загрузите их в корневой каталог сервера. После этого ошибка должна исчезнуть.
Источник: почему веб-мастерам следует анализировать журнал ошибок 404 (март 2012 года, Мартин Бринкманн)
источник
Если пользователь с веб-браузера Safari (устройства Apple) посещает ваш сайт. Браузер пытается извлечь значок сайта, если он не определен в
<head>
следующем порядке:Чтобы решить эту проблему, определите значок для веб-браузеров Safari или устройств Apple. Добавьте что-то подобное в заголовок раздела вашего сайта:
Если вы хотите сохранить
<head>
чистоту, загрузите значок в корневой каталог вашего сайта с правильным именем.Размер значка по умолчанию составляет 57 пикселей .
Вы можете найти более подробную информацию о библиотеке разработчиков iOS .
источник
Если вы закончили поиск в Google, это простая конфигурация для предотвращения этой ошибки при заполнении журналов веб-сервера:
Apache virtualhost
Серверный блок Nginx:
PS: возможно вы хотите добавить
apple-touch-icon.png
иfavicon.ico
тоже.источник
Обратите внимание, что это может произойти, даже если пользователь НЕ добавил сайт в закладки на своем домашнем экране iOS - например, каждый раз, когда вы открываете страницу с помощью Chrome для iOS, это происходит
GET "/apple-touch-icon-precomposed.png"
.Я обработал этот и другие не-HTML 404 запросы в моем ApplicationController следующим образом:
format.all
Ответ берет на себя образы , такие , как этот PNG файл (который не существует для моего сайта).источник
Там есть драгоценный камень, как quiet_assets , который отключит эти ошибки в ваших журналах, если, как и я, вам не нужно добавлять эти файлы в приложение Rails:
https://github.com/davidcelis/quiet_safari
источник
Если вам не нравится, что значок выглядит красиво на всех устройствах Apple, просто добавьте
get '/:apple_touch_icon' => redirect('/icon.png'), constraints: { apple_touch_icon: /apple-touch-icon(-\d+x\d+)?(-precomposed)?\.png/ }
в ваш
config/routes.rb
файл и некоторыеicon.png
в вашpublic
каталог. Перенаправление на404.html
вместо того, чтобыicon.png
работает тоже.источник
Я наконец-то решил !! Это функция веб-клипа на устройствах Mac. Если пользователь хочет добавить ваш сайт в Dock o Desktop, он запрашивает этот значок.
дополнительная информация: https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
как решить ?: Добавить значок для решения проблемы.
источник
Альтернативное решение - просто добавить маршрут в ваши маршруты.
Он в основном перехватывает запрос Apple и возвращает 404 клиенту. Таким образом, ваши файлы журнала не загромождены.
затем добавьте метод 'apple_touch_not_found' в ваш application_controller.rb
источник
То же самое происходит со мной. И да, как сказал @Joao Leme, похоже, что это связано с тем, что пользователь делает закладки сайта на домашнем экране своего устройства.
Тем не менее, я заметил, что, несмотря на наличие ошибки в журнале, это происходит за кулисами, и пользователь никогда не видит ошибку. Я предполагаю, что устройство запрашивает сенсорный значок, соответствующий его разрешению (которого там нет), до тех пор, пока не будет установлено значение по умолчанию для общего
apple-touch-icon
илиapple-touch-icon-precomposed
, если оно есть, или не создаст небольшой скриншот текущей страницы.FWIW, поместите значки в каталог / public.
источник
Просто создайте файлы нулевого размера, называемые соответствующими именами.
Запрос будет удовлетворен без дополнительной передачи данных или дальнейших строк регистрации.
источник
Попробуйте изменить ссылку с
чтобы:
источник
apple-touch-icon-precomposed
в вашем каталоге проекта. Я думаю, что эта ссылка включена в шаблон макета, но я не уверен.