Når du besøger et websted (en hvilken som helst URL på det websted), vil en browser typisk også sende en anmodning til det samme domæne for /favicon.ico
så se, om webstedet tilbyder et ikon, der skal være en visuel repræsentation af webstedet.
Da du bruger en rute på øverste niveau med jokertegn:
app.get('/:listRoute', ...)
Det vil blive ramt af anmodningen om /favicon.ico
. Nogle andre webadresser, som du måske også skal passe på med at blive anmodet om, er:/robots.txt
, /humans.txt
, /sitemap.xml
, /ads.txt
.
Der er en række måder at omgå dette på:
-
Din wildcard-rute kan først tjekke
req.url
ellerreq.params.listRoute
for at se, om det er noget, den bør ignorere. -
Du kan placere andre ruter på øverste niveau, som du vil holde ude af din wildcard-rute, i en position før denne rute, så de ikke ender i denne.
-
Brug ikke en wildcard-rute på øverste niveau. Brug i stedet noget som
/list/:listRoute
så det matcher ikke automatisk nogen http-anmodning på øverste niveau. Din brug af en rute med jokertegn på øverste niveau forstyrrer anden fremtidig brug af dit websted og kan skabe bagudkompatibilitet fremadrettet, når du vil tilføje andre ruter på øverste niveau til dit websted. Forestil dig, hvis du engang i fremtiden vil tilføje/contact
eller/login
eller/logout
. De er alle i konflikt med/:listRoute
.