আমি কেন আপেল-টাচ-আইকন-প্রাকম্পোজড.পং এর জন্য ত্রুটি পাচ্ছি


247

আমি একটি নতুন রেল 3 প্রকল্প তৈরি করেছি তবে আমি আমার সার্ভার লগগুলিতে বহুবার নিম্নলিখিত লগগুলি দেখতে পাচ্ছি। আমি কেন এই অনুরোধ পাচ্ছি এবং কীভাবে আমি এগুলি এড়াতে পারি?

2012-09-18 20:03:53 +0530 এ 192.168.6.2 এ "/ অ্যাপল-টাচ- আইকন-প্রিপম্পোজড.পিএনজি" শুরু করুন

অ্যাকশনকন্ট্রোলার :: রাউটিংইয়েরার (কোনও রুট মেলে না [জিইটি] "" / অ্যাপল-টাচ- আইকন-প্রিপ কমপোজড.পিং "):

আমি এই লিঙ্কটি কোথাও দেইনি এবং এই চিত্রটি কোথাও রেন্ডার করতে চাই না। এই সংস্থানটি কেন লোড করার চেষ্টা করা হচ্ছে তা আমি নির্লিপ্ত।


4
আমি আমার নেট প্রকল্পে ঠিক একই জিনিস পাচ্ছি। রুবির সাথে কিছু করার নেই। আমি যা বুঝতে পারি না কেন এটি 404 মানের নয়। কিন্তু এটা না। কেবল একটি রাউটিং ত্রুটি। আমি পেয়েছি: '/apple-touch-icon-precompused.png' পাথের জন্য নিয়ামকটি পাওয়া যায় নি বা আইকন্ট্রোলার প্রয়োগ করে না।
horace

উত্তর:


221

আমার ধারণা অ্যাপল ডিভাইসগুলি সেই অনুরোধগুলি করে যদি ডিভাইসের মালিক এতে সাইট যুক্ত করে। এটি ফেভিকনের সমতুল্য। সমাধানের জন্য, 2 100 × 100 পিএনজি ফাইল যুক্ত করুন, এটি এপল-টাচ-আইকন-প্রাকম্পোজড.পিএনজি এবং অ্যাপল-টাচ-আইকন.পিএনজি হিসাবে সংরক্ষণ করুন এবং এটি সার্ভারের মূল ডিরেক্টরিতে আপলোড করুন। এর পরে, ত্রুটিটি চলে যেতে হবে।

আমি লগগুলিতে অ্যাপল-টাচ-আইকন-প্রাক্পম্পোজড.পিএনজি এবং অ্যাপল-টাচ-আইকন.পংয়ের জন্য প্রচুর অনুরোধগুলি লক্ষ্য করেছি যা সাইটের মূল ডিরেক্টরি থেকে চিত্রগুলি লোড করার চেষ্টা করেছিল। আমি প্রথমে ভেবেছিলাম এটি মোবাইল থিম এবং প্লাগইনটির একটি ভুল কনফিগারেশন ছিল তবে পরে জানতে পেরেছিলাম যে ডিভাইসটির মালিক এতে সাইট যুক্ত করলে অ্যাপল ডিভাইসগুলি সেই অনুরোধগুলি করে।

উত্স: ওয়েবমাস্টারদের কেন তাদের 404 ত্রুটি লগ বিশ্লেষণ করা উচিত (মার্চ 2012; মার্টিন ব্রিংকম্যান লিখেছেন)


52
আমি একটি সুন্দর নিবন্ধ পেয়েছি যা আমি জানতে চেয়েছি (এবং আরও অনেক কিছু) সম্পর্কে বিস্তারিত জানায়
অ্যালেক্সিস

মূল ডিরেক্টরি দ্বারা আপনি অ্যাপ্লিকেশন / পাবলিক ডিরেক্টরি বা পাবলিক ডিরেক্টরি বোঝাতে চান?
বেনগালা

আমি বিশ্বাস করি উপরোক্ত লেখকটির অর্থ কনফিগার করা ওয়েব ডকুমেন্ট-রুট ডিরেক্টরি, উদাহরণস্বরূপ এপাচি ২.৪ এ এটি সাধারণত / var / www / htdocs
হিগলহাউসেন

70

যদি সাফারি ওয়েব ব্রাউজার (অ্যাপল ডিভাইস) থেকে কোনও ব্যবহারকারী আপনার সাইটে যান। ব্রাউজারটি <head>নিম্নলিখিত আইনে সংজ্ঞায়িত না হলে সাইট আইকনটি আনতে চেষ্টা করে :

  1. আপেল স্পর্শ-আইকন-57x57-precomposed.png
  2. আপেল স্পর্শ-আইকন-57x57.png
  3. আপেল স্পর্শ-আইকন-precomposed.png
  4. আপেল স্পর্শ-icon.png

এই সমস্যাটি সমাধান করার জন্য সাফারি ওয়েব ব্রাউজার বা অ্যাপল ডিভাইসগুলির জন্য একটি আইকন নির্ধারণ করুন। আপনার সাইটের প্রধান বিভাগে এই জাতীয় কিছু যুক্ত করুন:

<link rel="apple-touch-icon" href="https://stackoverflow.com/custom_icon.png"/>

আপনি যদি <head>পরিষ্কার রাখতে চান তবে সঠিক নামের সাথে আইকনটি আপনার সাইটের মূল ডায়ারে আপলোড করুন।

ডিফল্ট আইকন আকার 57px হয়

আপনি আইওএস বিকাশকারী লাইব্রেরিতে আরও বিশদ পেতে পারেন ।


এমনকি এই সংজ্ঞাটি দিয়েও, আমি এখনও আপেল-টাচ-আইকন-প্রাকম্পোজড.পং এর জন্য 404s পেয়েছি
ক্রিস হেইনেস

3
নতুন আইপ্যাডের জন্য উপযুক্ত হওয়ার জন্য ডিফল্ট আইকনটির আকার 152 × 152 পিক্সেল হওয়ার প্রস্তাব দেওয়া হচ্ছে।
অ্যান্ড্রু লট

2
আমি এখনও একই ত্রুটি পেয়েছি, পাশাপাশি কাস্টম_আইকন.পিএনজি-র জন্য অতিরিক্ত রাউটিং ত্রুটি পেয়েছি। যাইহোক, আমি ব্রাউজার হিসাবে সাফারি 8.0.3 ব্যবহার করে ওএসএক্স 10.10.2 এ বিকাশের এই ত্রুটিগুলি পেয়েছি।
7stud

8

যদি আপনি এখানে গুগলিং শেষ করেন তবে ওয়েব সার্ভার লগগুলিতে এই ত্রুটি পূর্ণ হওয়া রোধ করার জন্য এটি একটি সাধারণ কনফিগারেশন:

আপাচে ভার্চুয়ালহোস্ট

Redirect 404 /apple-touch-icon-precomposed.png
<Location /apple-touch-icon-precomposed.png>
    ErrorDocument 404 "apple-touch-icon-precomposed does not exist"
</Location>

Nginx সার্ভার ব্লক:

location =/apple-touch-icon-precomposed.png {
        log_not_found off;
        access_log off;
}

পিএস: আপনি যুক্ত করতে চান apple-touch-icon.pngএবং সম্ভবত favicon.ico


5

মনে রাখবেন যে ব্যবহারকারী যখন তাদের আইওএস হোম স্ক্রিনে সাইটটি বুকমার্ক না করেছে তখনও এটি ঘটতে পারে - উদাহরণস্বরূপ, আপনি যখনই আইওএসের জন্য ক্রোম ব্যবহার করে কোনও পৃষ্ঠা খোলেন, এটি একটি করে GET "/apple-touch-icon-precomposed.png"

আমি আমার অ্যাপ্লিকেশনকন্ট্রোলারে এই এবং অন্যান্য এইচটিএমএল 404 অনুরোধগুলি নিম্নরূপে পরিচালনা করেছি:

respond_to do |format|
  format.html { render :template => "error_404", :layout => "errors", :status => 404 }
  format.all { render :nothing => true, :status => 404 }
end

format.allপ্রতিক্রিয়া যেমন এই PNG ফাইল (যা আমার সাইটের জন্য বিদ্যমান নয়) হিসাবে ইমেজ যত্ন নেয়।


4

চুপ_আসেটসের মতো মণি রয়েছে যা আপনার লগগুলিতে এই ত্রুটিগুলিকে চুপ করে দিবে যদি আমার মতো, আপনিও এই ফাইলগুলিকে আপনার রেল অ্যাপগুলিতে যুক্ত করতে চান না:

https://github.com/davidcelis/quiet_safari


এটি সেরা সমাধান ... হতাশা এবং প্রচুর লগ ফাইল ব্যতীত আর কিছুই নয় যদি আপনি লগিং প্রতিরোধ না করেন। অ্যাপল সিদ্ধান্ত নিলে আকারগুলির পরিবর্তনের অনুরোধ করা হয়েছে ... আমাদের একই রঙের ফ্যাভিকনের আরও সংস্করণ সহ তাড়া করে চলেছে।
ভ্যানবুম

4

আপনি যদি সব ধরণের অ্যাপল ডিভাইসগুলিতে আইকনটি দেখতে সুন্দর দেখায় না তবে কেবল যুক্ত করুন

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


এখানে কাজ ভাল।
ওয়েলিংটন

3

আমি অবশেষে সমাধান !! এটি ম্যাক ডিভাইসগুলিতে একটি ওয়েব ক্লিপ বৈশিষ্ট্য। যদি কোনও ব্যবহারকারী আপনার ওয়েবসাইট ডক ও ডেস্কটপে যুক্ত করতে চান তবে এটি এই আইকনটির অনুরোধ করে।

You may want users to be able to add your web application 
or webpage link to the Home screen. These links, represented 
by an icon, are called Web Clips. Follow these simple steps 
to specify an icon to represent your web application or webpage
on iOS.

আরও তথ্য: https://developer.apple.com/library/content/docamentation/ অ্যাপল অ্যাপ্লিকেশনস / রেফারেন্স / সাফারিওয়েব কনটেন্ট / কনফিগারিং ওয়েবে অ্যাপ্লিকেশনস / কনফিগারিং ওয়েবে অ্যাপ্লিকেশনস html

কীভাবে সমাধান করবেন?: সমস্যা সমাধানের জন্য একটি আইকন যুক্ত করুন।


2

বিকল্প সমাধান হ'ল কেবল আপনার রুটস.আরবিতে একটি রুট যুক্ত করা

এটি মূলত অ্যাপলের অনুরোধটি ধরে এবং ক্লায়েন্টকে একটি 404 ফেরত সরবরাহ করে। এইভাবে আপনার লগ ফাইলগুলি বিশৃঙ্খল নয়।

# routes.rb at the near-end
match '/:png', via: :get, controller: 'application', action: 'apple_touch_not_found', png: /apple-touch-icon.*\.png/

তারপরে আপনার অ্যাপ্লিকেশন_কন্ট্রোলআরআরবিতে একটি পদ্ধতি 'আপেল_টচ_নোট_ফাউন্ড' যুক্ত করুন

# application_controller.rb
def apple_touch_not_found
  render  plain: 'apple-touch icons not found', status: 404
end

0

একই জিনিস আমার জন্য ঘটছে। এবং হ্যাঁ, @ জোয়াও লেমে যেমন বলেছিলেন, মনে হয় এটি কোনও ব্যবহারকারী তাদের ডিভাইস হোমস্ক্রিনে কোনও সাইট বুকমার্ক করার সাথে সম্পর্কিত।

তবে, আমি লক্ষ করেছি যে লগটিতে ত্রুটি থাকলেও এটি পর্দার আড়ালে ঘটছে এবং ব্যবহারকারী কখনই ত্রুটিটি দেখতে পাবে না। আমি ধরে নিয়েছি ডিভাইসটি সাধারণের ডিফল্ট হওয়া অবধি apple-touch-iconবা apple-touch-icon-precomposed, উপস্থিত থাকলে, বা অন্যটি বর্তমান পৃষ্ঠার একটি ছোট স্ক্রিনশট উত্পন্ন না করা পর্যন্ত তার রেজোলিউশনের জন্য নির্দিষ্ট (যা সেখানে নেই) নির্দিষ্ট স্পর্শ-আইকনটির জন্য একটি অনুরোধ করেছে ।

FWIW, / পাবলিক ডিরেক্টরিতে আইকন রাখুন।


1
চিত্রগুলি যুক্ত করা সমস্যার সমাধান করে না। যে অস্তিত্ব নেই এমন সম্পদের জন্য অনুরোধ করা হচ্ছে। প্রতিবার এই অনুরোধটি ঘটে, সার্ভার সাড়া দেয় এবং একটি লগ এন্ট্রি লেখা হয়। এটি দক্ষ নয়।
তাস

-1

কেবল যথাযথ নামগুলি বলে শূন্য আকারের ফাইল তৈরি করুন।

অতিরিক্ত কোনও ডেটা স্থানান্তর বা আরও লগিং লাইনগুলির সাথে অনুরোধটি সন্তুষ্ট হবে।


1
খুব পুরানো উত্তর, তবে একটি শূন্য-আকারের ফাইল পরিবেশন করার প্রস্তাব দেওয়া মোটেই প্রস্তাবিত নয় কারণ ওয়েব ক্লিপ (ব্যবহারকারীরা তাদের হোম স্ক্রিনে তৈরি করতে পারে এমন লিঙ্ক) কোনও লিখিত সামগ্রী ছাড়াই একটি স্কোয়ার বক্স উপস্থিত হবে। যদিও আমি অ্যাপল দ্বারা তৈরি জটিল অ্যান্টি-প্যাটার্নগুলি পছন্দ করি না, তবে কোনও ব্যবহারকারীদের shxt অভিজ্ঞতা দেওয়ার চেয়ে লগ ফাইলটিতে ত্রুটিগুলি আবদ্ধ করা ভাল।
আন্ড্রেয়া মোরো

-4

থেকে লিঙ্ক পরিবর্তন করার চেষ্টা করুন

/apple-touch-icon-precomposed.png 

প্রতি:

<%=asset_path "apple-touch-icon-precomposed.png" %>

আমি এই লিঙ্কটি কোথাও দেইনি এবং এই চিত্রটি কোথাও রেন্ডার করতে চাই না। এই সংস্থানটি কেন লোড করার চেষ্টা করা হচ্ছে তা আমি নির্লিপ্ত।
আকাশ অগ্রওয়াল

apple-touch-icon-precomposedআপনার প্রকল্প ডিরেক্টরিটি সন্ধান করার চেষ্টা করুন । আমি মনে করি এই লিঙ্কটি লেআউট টেম্পলেটটিতে অন্তর্ভুক্ত রয়েছে, তবে আমি শিউর নেই।
জিজু

1
এটি আইওএস দ্বারা অনুরোধ করা একটি মানক চিত্র; এটি কোনও ব্যক্তির প্রকল্প ফাইলের কোনও লিঙ্কের সাথে সম্পর্কিত নয়।
ব্র্যাড কোচ

1
এই চিত্রটি আমার ডাইরয়েড রাজার দ্বারাও অনুরোধ করা হয়েছে, সুতরাং আমি নিশ্চিত নই যে এটি কেবল আইওএস ডিভাইসে স্থানীয়।
তাস

2
অ্যাপল কেন সবার মতো ফেভিকন.আইকো-র জন্য নিষ্পত্তি করতে পারেন না?
টনি পায়েেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.