Webサイト(そのWebサイト上の任意のURL)にアクセスすると、ブラウザーは通常、同じドメインに/favicon.ico
のリクエストも送信します。 そのため、Webサイトがサイトを視覚的に表現するアイコンを提供しているかどうかを確認してください。
ワイルドカードのトップレベルルートを使用しているため:
app.get('/:listRoute', ...)
/favicon.ico
のリクエストがヒットします 。リクエストされるのに注意する必要がある他のURLは次のとおりです:/robots.txt
、/humans.txt
、/sitemap.xml
、/ads.txt
。
これを回避する方法はいくつかあります:
-
ワイルドカードルートは、最初に
req.url
をチェックできます またはreq.params.listRoute
無視すべきものかどうかを確認します。 -
ワイルドカードルートから除外したい他のトップレベルルートをこのルートの前の位置に配置して、最終的にこのルートに入らないようにすることができます。
-
トップレベルのワイルドカードルートは使用しないでください。代わりに、
/list/:listRoute
のようなものを使用してください そのため、トップレベルのhttpリクエストと自動的に一致することはありません。トップレベルのワイルドカードルートを使用すると、サイトの他の将来の使用が妨げられ、サイトに他のトップレベルルートを追加する場合に下位互換性が生じる可能性があります。将来、/contact
を追加したいとします。 または/login
または/logout
。それらはすべて/:listRoute
と競合します 。