Když navštívíte web (jakákoli adresa URL na tomto webu), prohlížeč obvykle také odešle požadavek na stejnou doménu pro /favicon.ico
Podívejte se tedy, zda web nabízí ikonu, která má být vizuální reprezentací webu.
Protože používáte trasu nejvyšší úrovně se zástupnými znaky:
app.get('/:listRoute', ...)
To bude zasaženo požadavkem na /favicon.ico
. Některé další adresy URL, na které si budete muset dávat pozor, aby byly požadovány, jsou:/robots.txt
, /humans.txt
, /sitemap.xml
, /ads.txt
.
Existuje několik způsobů, jak to obejít:
-
Vaše trasa se zástupnými znaky může nejprve zkontrolovat
req.url
neboreq.params.listRoute
abyste zjistili, zda je to něco, co by měl ignorovat. -
Další trasy nejvyšší úrovně, které chcete ponechat mimo trasu se zástupnými znaky, můžete umístit před tuto trasu, aby neskončily v této.
-
Nepoužívejte cestu se zástupnými znaky nejvyšší úrovně. Místo toho použijte něco jako
/list/:listRoute
takže nebude automaticky odpovídat žádnému požadavku http nejvyšší úrovně. Vaše použití cesty se zástupnými znaky nejvyšší úrovně narušuje další budoucí použití vašeho webu a může vytvářet zpětnou kompatibilitu do budoucna, když chcete na svůj web přidat další trasy nejvyšší úrovně. Představte si, že někdy v budoucnu budete chtít přidat/contact
nebo/login
nebo/logout
. Všechny jsou v konfliktu s/:listRoute
.