چگونه مشکل «favicon.ico صفحه مورد نظر پیدا نشد» را در دروپال برطرف کنیم؟

بعد از ساختن سایت دروپال کار، زمانی که به بخش رویدادهای ثبت‌شده اخیر (Recent log messages) از سایت میرفتم، با پیغام‌های page not found - favicon.ico مواجه میشدم. این مورد برای من خیلی عجیب بود، به دلیل اینکه فاویکون (Favicon) از قسمت تنظیمات قالب به سایت اضافه شده بود و به درستی هم نمایش داده میشد. پس دلیل نمایش این پیغام چه بود؟

پیغام‌های مکرر «صفحه مورد نظر پیدا نشد» در مورد فاویکون (favicon) سایت

مشکل دقیقا چیست؟

وقتی به صفحه‌ی  گزارش‌ها > «رویدادهای ثبت‌شده اخیر» از سایت می‌رویم (Reports > Recent log messages) با پیغام «page not found» برای favicon.ico سایت مواجه می‌شویم.

مشکل از کجاست؟

دلیلش این است که در ریشه‌ی سایت عکس favicon.ico قرار ندارد.

زمانی که توسط دروپال یک فاویکن به سایت اضافه می‌کنید، دروپال بطور خودکار خط زیر را در کد سایت وارد می‌کند، که باعث می‌شود حتی اگر فاویکونی در ریشه‌ی سایت شما هم نباشد، فاویکن سایت در مرورگر شما نمایش داده شود.

<link rel="shortcut icon" href=".../misc/favicon.ico" type="image/vnd.microsoft.icon" />

اما مساله اینجاست که تمام سایت‌ها و مرورگرها و ... به این خط توجه نمی‌کنند، بعضی سایت‌ها و مرورگرها بطور پیشفرض به سراغ مسیر http://example.com/favicon.ico می‌روند و در آنجا به دنبال فاویکون سایت می‌گردند. اگر فاویکونی در ریشه‌ سایت نباشد باعث یک پیغام خطای 404 page not found می‌شود.

چگونه این مشکل را حل کنیم؟

الف. سایت‌های نصب شده بطور عادی

اگر سایت دروپالی شما یک سایت مستقل است، کافیست favicon.ico سایت را در ریشه‌ی سایت آپلود کنید (تا به شکل http://example.com/favicon.ico در آید)

ب. سایت‌های نصب شده به صورت مولتی‌سایت

اگر سایت‎های دروپالی شما بطور مولتی‌سایت (Multi-site) نصب شده باشند، قرار دادن favicon.ico باعث می‌شود فاویکون تمام سایت‌های دروپالی شما به این فاویکون تغییر کند، که مطمئنا چیزی نیست که ما می‌خواهیم. در مولتی‌سایت‌ها از کدهای زیر استفاده کنید:

RewriteCond %{HTTP_HOST} \.example\.com$ [NC]

RewriteRule ^favicon.ico$ sites/example.com/favicon.ico [NC,L]

(در مطلب اصلی گفته نشده این کدها باید کجا اضافه شوند، به نظر می‌آید این کدها باید در فایل htaccess سایت اضافه شوند)

فراموش نکنید که قسمت example.com از کد بالا را زمان استفاده با دامین سایت خودتان جایگزین کنید، و اگر favicon.ico را در مسیر site/example.com/favicon.ico قرار ندادید، جای favicon.ico را عوض کنید.

___________________________________________

منبع: How to fix favicon.ico page not found in Drupal | Foobarist

برچسب‌ها: 

افزودن نظر جدید