এএসপি.নেট এমভিসিতে ফেভিকন.ইকো পরিবেশন করা হচ্ছে


255

এএসপি.নেট এমভিসিতে ফেভিকন.ইকো কীভাবে পরিবেশন করা যায় তার চূড়ান্ত / সেরা প্রস্তাবনা কী?

আমি বর্তমানে নিম্নলিখিতগুলি করছি:

  • আমার রেজিস্টারআউটস পদ্ধতির একেবারে শুরুতে একটি এন্ট্রি যুক্ত করা :

    routes.IgnoreRoute("favicon.ico");
  • আমার অ্যাপ্লিকেশনটির মূলটিতে ফেভিকন.ইকো স্থাপন করা (এটি আমার ডোমেনের মূলও হতে চলেছে)।

আমার দুটি প্রশ্ন আছে:

  • আমার অ্যাপ্লিকেশনটির মূল ছাড়া অন্য কোথাও ফেভিকন.ইকো রাখার উপায় নেই? এটা তোলে হিসাবে একই পর্যায়ে অধিকার সেখানে হচ্ছে কিনতে হত সুন্দর Contentএবং Controllers
  • এই IgnoreRoute("favicon.ico")বিবৃতিটি কি পর্যাপ্ত - অথবা ফিল হ্যাকের ব্লগ পোস্টে আলোচিত হিসাবে আমারও নিম্নলিখিতগুলি করা উচিত ? আমি রুট ব্যতীত অন্য কোনও ডিরেক্টরিতে ফেভিকন.ইকো-র অনুরোধটি দেখেছি সে সম্পর্কে আমি সচেতন নই - যা এটি অপ্রয়োজনীয় করে তুলবে (তবে এটি কীভাবে করবেন তা জেনে রাখা ভাল)।

    routes.IgnoreRoute("{*favicon}", new {favicon=@"(.*/)?favicon.ico(/.*)?"});

4
আপনার নিয়মিত প্রকাশটি '\' হওয়া উচিত \ ফেভিকন.ইকোতে বিন্দুর জন্য, কেবল '' নয়।
নাথানএলডেনএসআর

1
এটিই আমি ব্যবহার করি (এটি @ নাথান অ্যালডেনসারের পরামর্শ বিবেচনায় নেয়, এগিয়ে এবং পিছনে উভয় স্ল্যাশ সমর্থন করে এবং routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*[/\\])?favicon\.((ico)|(png))(/.*)?" });
ফেভিকন.পিএনজি

@ BrainSlugs83 - আপনি সমাধানটি আমার জন্য অনুপস্থিত টুকরোটি যোগ করেছেন যা স্ল্যাশ ছিল ... এখানে একটি .NET vNext সংস্করণ (বিটা -5) দেওয়া আছে। routes.MapRoute("IgnoreFavicon", "{*favicon}", new { favicon = @"(.*[/\\])?favicon\.((ico)|(png))(/.*)?" });
ভাড়াটে.কম

সংশোধন, vNext রুট routes.MapRoute("Ingore", "{*favicon}", new { }, new { favicon = @"(.*[/\\])?favicon\.((ico)|(png))(/.*)?" }); নোটিশ উপেক্ষা করুন new {},
Rentering.com

উত্তর:


204

আপনার ডোমেনের মূলে ফেভিকন.ইকো স্থাপন করা কেবলমাত্র আইই 5, আইআইআরসি-কে প্রভাবিত করে। আরও আধুনিক ব্রাউজারগুলির জন্য আপনার অন্য ডিরেক্টরিতে নির্দেশ করতে একটি লিঙ্ক ট্যাগ অন্তর্ভুক্ত করতে সক্ষম হওয়া উচিত:

<link rel="SHORTCUT ICON" href="http://www.mydomain.com/content/favicon.ico"/>

আপনি আইআই ব্যতীত অন্য ব্রাউজারগুলির জন্য নন-আইকো ফাইলও ব্যবহার করতে পারেন, যার জন্য আমি সম্ভবত এফএফ, পি, এন, এবং আই-সি-তে কোনও পিএনজি পরিবেশন করতে নিম্নলিখিত শর্তযুক্ত বিবৃতিটি ব্যবহার করতে পারি:

<link rel="icon" type="image/png" href="http://www.mydomain.com/content/favicon.png" />
<!--[if IE]>
<link rel="shortcut icon" href="http://www.mydomain.com/content/favicon.ico" type="image/vnd.microsoft.icon" />
<![endif]-->

25
লিঙ্কটি তৈরি করতে আপনাকে @ ইউআরএল কনটেন্ট ব্যবহার করতে হবে যাতে এটি সমস্ত পরিবেশে কাজ করে। আলেকসির প্রতিক্রিয়া দেখুন
রিকআ্যান্ডএমএসএফটি

5
সত্য, এএসপি.এনইটি-র জন্য। আমার উত্তর "জেনেরিক" সংস্করণ (সরল এইচটিএমএল) চিত্রিত করে, যাতে যে কোনও তাদের ফ্রেমওয়ার্ক / ভাষার পছন্দ অনুসারে পরিবর্তন করতে পারে :)
ক্রিস

এটি লক্ষণীয় গুরুত্বপূর্ণ যে আইই 10 শর্তযুক্ত মন্তব্যগুলিকে সমর্থন করে না, সুতরাং এটি ব্রাউজারের ব্যবহারকারীদের জন্য কাজ করবে না। একটি সমাধান হ'ল আপনার ফ্যাভিকনটিকে আপনার সাইটের মূল ডিরেক্টরিতে যুক্ত করা, যা আইই 10 স্বয়ংক্রিয়ভাবে গ্রহণ করবে যদি এটি কোথাও কোনও ফ্যাভিকনের লিঙ্ক খুঁজে না পায়।
কেভিন বাবকক

2
আইই 11 পিএনজি ফেভিকন বোঝে এবং শর্তাধীন বিবৃতি দেওয়ার দরকার নেই। আপনার এই ভাল নিবন্ধটি দেখতে হবে: jonathantneal.com/blog/:30:30-tav-
ফ্যাভিকন

ধন্যবাদ বন্ধু! নীচের অংশটি সত্যিই আমাকে পিএনজি নিয়ে কাজ করতে সহায়তা করে, এটি কেবল পৃষ্ঠার, মাস্টারপেজ বা বিন্যাসের শীর্ষে থাকা দরকার।
আল্পার

226

আমি ক্রিসের উত্তরের সাথে একমত, তবে এটি দেখতে একটি নির্দিষ্ট এএসপি N নেট এমভিসি প্রশ্নটি রেজার সিনট্যাক্স ব্যবহার করা ভাল:

<link rel="icon" href="@Url.Content("~/content/favicon.ico")"/>

বা traditionতিহ্যগতভাবে

<link rel="icon" href="<%= Url.Content("~/content/favicon.ico") %>"/>

বরং

<link rel="icon" href="http://www.mydomain.com/content/favicon.ico"/>

3
সত্য। আমার উত্তরটি "জেনেরিক" সংস্করণ (এইচটিএমএল) চিত্রিত করছিল, সুতরাং যে কেউ তাদের ফ্রেমওয়ার্ক / ভাষার পছন্দ অনুসারে পরিবর্তন করতে পারে :)
ক্রিস

2
@ ডিগো - হ্যাঁ, রিল = "শর্টসুট আইকন" হ'ল ইন্টারনেট এক্সপ্লোরার দ্বারা ব্যবহৃত মানসম্মত বাস্তবায়ন। স্পেসটি ডাব্লু 3 সি স্ট্যান্ডার্ডে বিভাজক চরিত্র (দেখুন ডেভেলপার.মোজিলা.আর.ইন- ইউএস / ডকস / ওয়েবে / এইচটিএমএল / এলিমেন্ট / লিঙ্ক )। ইন্টারনেট এক্সপ্লোরার ব্যতীত অন্য ব্রাউজারগুলিতে সঠিক লিঙ্কটি <লিঙ্ক rel = "আইকন" href = "পাথ / থেকে / ফেভিকন.ইকো"> - আরও জানুন jonathantneal.com/blog/:30:30- ফ্যাভিকন । স্পষ্টতই আপনি উপরের আইকনটিতে যাওয়ার জন্য রেজার বা ওয়েব ফর্ম সিনট্যাক্স ব্যবহার করতে পারেন।
pwdst

3
এমভিসি 4 এর সাথে আপনার আরআর.সন্টেন্টের প্রয়োজন হবে না কারণ এটি স্বয়ংক্রিয়ভাবে পরিচালিত হবে, আপনি কেবল ব্যবহার করতে পারেন; <লিঙ্ক rel = "আইকন" href = "content / সামগ্রী / ফেভিকন.ইকো" />
স্টুয়ার্ট হ্যালোস

20

1) আপনি নিজের ফ্যাভিকনটি যেখানে চান সেখানে রাখতে পারেন এবং এই ট্যাগটি আপনার পৃষ্ঠার মাথায় যুক্ত করতে পারেন

<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />

যদিও কিছু ব্রাউজার ডিফল্টরূপে /favicon.ico থেকে ফেভিকন পেতে চেষ্টা করবে, তাই আপনার IgnoreRoute ব্যবহার করা উচিত।

২) যদি কোনও ব্রাউজার অন্য ডিরেক্টরিতে ফ্যাভিকনটির জন্য একটি অনুরোধ করে তবে এটি 404 ত্রুটিটি পেয়ে যাবে যা ঠিক আছে এবং আপনার মাস্টার পৃষ্ঠায় উত্তর 1 এ লিঙ্ক ট্যাগ থাকলে ব্রাউজারটি আপনার পছন্দসই ফ্যাভিকনটি পাবেন।


2
আপনি সাইটটি বুকমার্ক করে ব্রাউজারগুলি গিয়ে .ico ফাইলটি সন্ধান করবে - সুতরাং এটি এতে সহায়তা করে না। তবে আমি ভাবছি ব্রাউজারটি এটি মনে রাখে কিনা। আমি কেবল জানি যে ফিডলারের মাঝে মাঝে আমি দেখতে পাই যে পুরো আইলনগুলি পুনরুদ্ধার করা হচ্ছে। সম্ভবত এটি গুগল টুলবার যদিও?
সাইমন_ ওয়েভার

আমি মনে করি আপনি ঠিক বলেছেন, বুকমার্কগুলির আইকনগুলি কেবল কখনও কখনও কাজ করে, আমি কখনই বুঝতে পারি না কেন, সম্ভবত এটিই ঘটেছে
এডুয়ার্ডো ক্যাম্পেইন

7

আমি মনে করি যে ফেভিকন.ইকোটি মূল ফোল্ডারে থাকা উচিত। এটা ঠিক সেখানে।

আপনি যদি ডিফেরেন্ট আইকনগুলি পরিবেশন করতে চান - এটি কনট্রোলারে রাখুন। আপনি এটি করতে পারেন। যদি তা না হয় - কেবল এটি রুট ফোল্ডারে রেখে দিন।


1
আমি রাজী. এটি মূল ফোল্ডারে রয়েছে এবং অন্য কোথাও হওয়া উচিত নয় ... ফ্যাভিকনটির জন্য যদি এইচটিএমএল ট্যাগের মূল ফোল্ডারে না থাকে তবে সেখানে কোনও HTML ট্যাগের প্রয়োজন নেই। সমস্ত সাধারণ ব্রাউজারগুলির সাথে কাজ করে ...
Vinz 20'15

প্রথমদিকে, এটি আমার কাছে একেবারে ষাঁড়ের মতো মনে হয়েছিল তবে এটির চারপাশের কোনও উপায় নেই, আমাদের লগিং বিভিন্ন ব্যবহারকারী এজেন্টদের 404 ত্রুটি দেখিয়ে চলেছে।
মিশিয়েল কর্নিল

3

উপরের কেউই আমার পক্ষে কাজ করেনি। আমি অবশেষে এই সমস্যাটি মাইিকন.ইকোতে ফেভিকন.ইকো নাম পরিবর্তন করে সমাধান করেছি এবং এটির মাথাতে উল্লেখ করেছি<link rel="icon" href="~/myicon.ico" type="image/x-icon" />


2

আইসিও ফাইলটি ফেরত দেয় এবং নিয়ামকটিকে নির্দেশ করতে /favicon.ico রুটটি নিবন্ধন করে এমন একটি নিয়ামক তৈরি করাও সম্ভব উচিত।


2

আপনাকে যা করতে হবে তা হ'ল app.UseStaticFiles();আপনার স্টার্টআপ public void Configure(IApplicationBuilder app, IHostingEnvironment env)। সি -> এ যুক্ত করা ।

এএসপিএনফোর কোর স্থিতিশীল ফাইলগুলি পাওয়ার দুর্দান্ত উপায় সরবরাহ করে। এটি wwwroot ফোল্ডারটি ব্যবহার করছে। দয়া করে এএসপি.নেট কোর স্ট্যাটিক ফাইলগুলি পড়ুন ।

এটি ব্যবহার করা <Link />খুব ভাল ধারণা নয়। কেন কেউ ফেভিকন.ইকো জন্য প্রতিটি এইচটিএমএল বা সিএসএসটিএমএল লিঙ্ক ট্যাগ যুক্ত করবেন?


0

এটি কেবল ফেভিকন.ইকো পরিবর্তে ব্যবহার করুন যা ফেভ আইকন ফাইলটির জন্য অনুসন্ধান করতে ঝোঁক

> <link rel="ICON" 
> href="@System.IO.Path.Combine(Request.PhysicalApplicationPath,
> "favicon.ico")" />

অনুরোধকৃত পাথটি ব্যবহার করুন এবং ফেভ আইকন ফাইলটির সাথে একত্রিত করুন যাতে এটি সঠিক ঠিকানা পায় যা এটি অনুসন্ধান করে

এটি প্রয়োগ করে Fav.icon ত্রুটিটি যা সর্বদা অ্যাপ্লিকেশন_আররে উত্থাপিত হয়


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