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.urlellerreq.params.listRoutefö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/:listRouteså 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/contacteller/logineller/logout. De är alla i konflikt med/:listRoute.