जब आप किसी वेबसाइट (उस वेबसाइट पर कोई यूआरएल) पर जाते हैं, तो ब्राउज़र आमतौर पर उसी डोमेन को /favicon.ico
के लिए एक अनुरोध भी भेजेगा। इसलिए देखें कि क्या वेब साइट साइट के दृश्य प्रतिनिधित्व के लिए कोई आइकन पेश करती है।
चूंकि आप वाइल्डकार्ड वाले शीर्ष स्तरीय मार्ग का उपयोग कर रहे हैं:
app.get('/:listRoute', ...)
यह /favicon.ico
. के अनुरोध से प्रभावित होगा . अनुरोध किए जाने के लिए आपको कुछ अन्य यूआरएल पर भी ध्यान देने की आवश्यकता हो सकती है:/robots.txt
, /humans.txt
, /sitemap.xml
, /ads.txt
।
इसे हल करने के कई तरीके हैं:
-
आपका वाइल्डकार्ड मार्ग पहले
req.url
check की जांच कर सकता है याreq.params.listRoute
यह देखने के लिए कि क्या यह कुछ ऐसा है जिसे इसे अनदेखा करना चाहिए। -
आप अन्य शीर्ष स्तरीय मार्गों को रख सकते हैं जिन्हें आप अपने वाइल्डकार्ड मार्ग से बाहर रखना चाहते हैं इस मार्ग से पहले की स्थिति में ताकि वे इस मार्ग पर समाप्त न हों।
-
शीर्ष स्तरीय वाइल्डकार्ड मार्ग का उपयोग न करें। इसके बजाय,
/list/:listRoute
. जैसी किसी चीज़ का उपयोग करें इसलिए यह स्वचालित रूप से किसी भी शीर्ष स्तर के http अनुरोध से मेल नहीं खाएगा। आपके द्वारा शीर्ष स्तरीय वाइल्डकार्ड रूट का उपयोग आपकी साइट के भविष्य के अन्य उपयोगों में बाधा डालता है और आगे जाकर जब आप अपनी साइट पर अन्य शीर्ष स्तरीय मार्ग जोड़ना चाहते हैं तो पश्चगामी संगतता बना सकते हैं। कल्पना कीजिए कि यदि भविष्य में कभी आप/contact
जोड़ना चाहें तो या/login
या/logout
. वे सभी/:listRoute
. के साथ विरोध करते हैं ।