Saya telah membuat proyek rails3 baru tetapi saya melihat log berikut berkali-kali di log server saya. Mengapa saya mendapatkan permintaan ini dan bagaimana saya bisa menghindari ini?
Mulai DAPATKAN "/apple-touch-icon-precomposed.png" untuk 192.168.6.2 di 2012-09-18 20:03:53 +0530
ActionController :: RoutingError (Tidak ada rute yang cocok [GET] "/apple-touch-icon-precomposed.png"):
Saya belum memberikan tautan ini di mana pun dan tidak ingin membuat gambar ini di mana pun. Saya tidak mengerti mengapa sumber ini dicoba untuk dimuat.
apple-touch-icon
Akash Agrawal
sumber
sumber
Jawaban:
Saya kira perangkat Apple membuat permintaan tersebut jika pemilik perangkat menambahkan situs ke dalamnya. Ini setara dengan favicon. Untuk menyelesaikan, tambahkan 2 file 100 × 100 png, simpan sebagai apple-touch-icon-precomposed.png dan apple-touch-icon.png dan unggah ke direktori root server. Setelah itu, kesalahannya harus hilang.
Sumber: Mengapa Webmaster Harus Menganalisis Log Kesalahan 404 (Mar 2012; oleh Martin Brinkmann)
sumber
Jika pengguna dari browser Web Safari (perangkat Apple) mengunjungi situs Anda. Browser mencoba mengambil ikon situs jika tidak ditentukan dalam
<head>
urutan sebagai berikut:Untuk mengatasi masalah ini, tentukan ikon untuk browser web safari atau perangkat apple. Tambahkan sesuatu seperti ini ke bagian kepala situs Anda:
Jika Anda ingin tetap
<head>
bersih, unggah ikon ke root dir situs Anda dengan nama yang tepat.The ukuran ikon default adalah 57px .
Anda dapat menemukan detail lebih lanjut di perpustakaan pengembang iOS .
sumber
Jika Anda berakhir di sini googling, ini adalah konfigurasi sederhana untuk mencegah kesalahan ini penuh dengan log server web:
Apache virtualhost
Blok server Nginx:
PS: Apakah mungkin Anda ingin menambahkan
apple-touch-icon.png
danfavicon.ico
juga.sumber
Perhatikan bahwa ini dapat terjadi bahkan ketika pengguna TIDAK mem-bookmark situs ke layar beranda iOS mereka - misalnya, setiap kali Anda membuka halaman menggunakan Chrome untuk iOS, ia melakukan a
GET "/apple-touch-icon-precomposed.png"
.Saya telah menangani ini dan permintaan non-HTML 404 lainnya di ApplicationController saya sebagai berikut:
The
format.all
respon menangani gambar seperti PNG ini (yang tidak ada untuk situs saya).sumber
Ada permata seperti quiet_assets yang akan membungkam kesalahan ini di log Anda jika, seperti saya, Anda tidak ingin harus menambahkan file-file ini ke aplikasi Rails Anda:
https://github.com/davidcelis/quiet_safari
sumber
Jika Anda tidak peduli dengan ikon yang terlihat cantik di semua jenis perangkat Apple, cukup tambahkan
get '/:apple_touch_icon' => redirect('/icon.png'), constraints: { apple_touch_icon: /apple-touch-icon(-\d+x\d+)?(-precomposed)?\.png/ }
ke
config/routes.rb
file Anda dan beberapaicon.png
kepublic
direktori Anda . Mengarahkan kembali ke404.html
alih-alihicon.png
bekerja juga.sumber
Saya akhirnya terpecahkan !! Ini adalah fitur Klip Web pada Perangkat Mac. Jika pengguna ingin menambahkan situs web Anda di Dock o Desktop, ia meminta ikon ini.
info lebih lanjut: https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
cara mengatasi ?: Tambahkan ikon untuk memecahkan masalah.
sumber
Solusi alternatif adalah dengan hanya menambahkan rute ke rute Anda.rb
Ini pada dasarnya menangkap permintaan Apple dan membuat 404 kembali ke klien. Dengan cara ini file log Anda tidak berantakan.
kemudian tambahkan metode 'apple_touch_not_found' ke application_controller.rb Anda
sumber
Hal yang sama terjadi pada saya. Dan ya, seperti yang dikatakan @Joao Leme, sepertinya ini terkait dengan pengguna yang menandai situs ke layar beranda perangkat mereka.
Namun, saya perhatikan bahwa meskipun ada kesalahan dalam log, itu terjadi di belakang layar dan pengguna tidak pernah melihat kesalahan. Saya menganggap perangkat membuat permintaan untuk ikon sentuh khusus untuk resolusinya (yang tidak ada) sampai default ke umum
apple-touch-icon
atauapple-touch-icon-precomposed
, jika ada, atau menghasilkan screenshot kecil dari halaman saat ini.FWIW, letakkan ikon di direktori / publik.
sumber
Cukup buat file berukuran nol yang disebut nama yang sesuai.
Permintaan akan dipenuhi tanpa transfer data tambahan atau garis logging lebih lanjut.
sumber
Cobalah untuk mengubah tautan dari
untuk:
sumber
apple-touch-icon-precomposed
di direktori proyek Anda. Saya pikir tautan ini termasuk ke dalam templat layout, tetapi saya tidak yakin.