När du besöker en webbplats (valfri URL på den webbplatsen) skickar en webbläsare vanligtvis också en begäran till samma domän för /favicon.ico
så se om webbplatsen erbjuder en ikon som är en visuell representation av webbplatsen.
Eftersom du använder en rutt på toppnivå med jokertecken:
app.get('/:listRoute', ...)
Det kommer att drabbas av begäran om /favicon.ico
. Några andra webbadresser som du också kan behöva se upp för att de efterfrågas är:/robots.txt
, /humans.txt
, /sitemap.xml
, /ads.txt
.
Det finns ett antal sätt att kringgå detta:
-
Din jokerteckenrutt kan först kontrollera
req.url
ellerreq.params.listRoute
för att se om det är något den bör ignorera. -
Du kan placera andra topprutter som du vill hålla borta från din jokerteckenrutt i en position före den här rutten så att de inte hamnar på den här.
-
Använd inte en toppnivå med jokertecken. Använd istället något som
/list/:listRoute
så det matchar inte automatiskt någon http-förfrågan på toppnivå. Din användning av en rutt med jokertecken på toppnivå stör andra framtida användningar av din webbplats och kan skapa bakåtkompatibilitet framöver när du vill lägga till andra rutter på toppnivå till din webbplats. Föreställ dig om du någon gång i framtiden vill lägga till/contact
eller/login
eller/logout
. De är alla i konflikt med/:listRoute
.