Astro Favicon दिख नहीं रहा? यहाँ है इसका फ़िक्स
Astro public/ को output में ज्यों-का-त्यों कॉपी करता है पर आपके लिए कभी icon tag इंजेक्ट नहीं करता। खाली tab का मतलब है link आपके pages जिस layout का इस्तेमाल करते हैं उसमें नहीं है, या किसी page ने अपना ही html element रेंडर किया और layout छोड़ दिया।
public/ नाम बरकरार रखता है, पर आपके लिए कुछ link नहीं करता
public/ की फ़ाइलें output root में हूबहू कॉपी होती हैं, इसलिए /favicon.svg या /favicon.ico एक असली URL है। लेकिन Astro public/ को स्कैन करके tag इंजेक्ट नहीं करता। head में आप जो चाहते हैं उसे एक layout component में लिखना होगा जिसमें आपके pages खुद को लपेटते हैं।
पेच उन pages में है जो layout छोड़ देते हैं। एक custom 404 या एक बार का landing page जो अपना ही html element लिखता है, उसमें कोई icon tag नहीं होता जब तक आप उन्हें वहाँ भी न जोड़ें।
अंतर ढूँढें
- 1
/favicon.ico (या /favicon.svg) सीधे खोलें
404 का मतलब है फ़ाइल public/ में नहीं है। अगर लोड हो जाए तो फ़ाइल ठीक है और गायब link tag ही समस्या है।
- 2
जाँचें कि layout link रेंडर करती है
किसी सामान्य page पर source देखें। कोई rel=icon tag न होने का मतलब है आपकी Layout.astro उसे शामिल नहीं करती। link tags को layout के head में जोड़ें।
- 3
layout छोड़ने वाले pages जाँचें
custom 404 और अपना ही html लिखने वाले standalone pages layout का head विरासत में नहीं लेंगे। icon tags को वहाँ भी जोड़ें, या उन्हें layout में लपेटें।
Astro favicon न दिखने पर: FAQ
मेरा Astro favicon क्यों नहीं दिख रहा?
Astro कोई icon tag इंजेक्ट नहीं करता, इसलिए या तो आपकी layout link रेंडर नहीं करती या संबंधित page layout को छोड़ देता है। पक्का करें कि फ़ाइल अपने URL पर लोड होती है, फिर जाँचें कि layout के head में सचमुच rel=icon tag मौजूद हैं।
क्या मुझे हर page में tag जोड़ने हैं?
केवल उस layout में जिसमें आपके pages लपेटते हैं। पेच उन pages में है जो नहीं लपेटते: एक custom 404 या अपना ही html element लिखने वाले landing page को tag सीधे जोड़ने पड़ते हैं।
मेरी site sub-path के तहत है और icons 404 देते हैं।
astro.config.mjs में base सेट करें, पर Astro आपके अपने markup में hardcode किए गए paths फिर से नहीं लिखता। href को import.meta.env.BASE_URL से prefix करें और deploy करने से पहले build किए गए HTML को जाँचें।