web-dev-qa-db-ja.com

Yandex.Metrica:/favicon.icoから1×1 gifカウンターにリダイレクトできますか?

私はグラフィックのない非常にシンプルなサイトを持っています。そして、巨大なJavaScript監視ループでそれを台無しにしたくありません。

favicon.icoがありません。ブラウザからfaviconを要求する404要求が常に表示されます。 YandexからMetricaコードをリクエストしたときに307に表示される1×1 gifカウンターの//mc.yandex.ru/watch/id URLへのファビコンの場所をimg srcできますか?

    location = /favicon.ico {
            return  307     http://mc.yandex.ru/watch/XXX;
    }
2
cnst
location = /favicon.ico {
        return  307     http://mc.yandex.ru/watch/XXX;
}

動作するようです。ただし、特定のブラウザのみがデフォルトでfavicon.icoを要求しているように見えるため、すべての訪問者がカウントされるわけではありません。

また、サイトで人気のあるページをユーザーに通知しないという制限があります。redirectが作成されると、Refererは、/favicon.icoの場所になり、ファビコンがロードされたとされる場所ではない可能性があります。

1
cnst

特定のブラウザは、常にファビコンを検索し、ファイルを配置するまで検索を続けます。 404エラーを取り除くために、307または他のリダイレクトメソッドを配置する必要がある理由はまったくありません。

404は、サイトが壊れていることを意味しません

エラー404は、サイト上で何かが壊れていることを示すものではないことに注意してください。ブラウザがサーバー上に存在しないファイルを要求している場合、404応答は完全に有効です。

ファビコン404のリダイレクト

ファビコンを307にリダイレクトすることは悪い考えです。ブラウザはファイルを要求しますが、307を追加することで、ページに不要な遅延を追加するためにサーバーに追加要求を追加しています。

ソリューション

ファビコンを設計できますサイトの残りの部分でグラフィックスが使用されていなくても、ファビコン。実際には、最新のブラウザのタブバーにはかなり適しています。

バイトのfavicon.icoをサーバーにアップロード、ただし、デフォルトのブラウザーfaviconは表示されません

最善の方法-これらのエラーをログから削除する、ログからこの情報を除外することができます。それらは...ブラウザが常にこのファイルを要求することを忘れないでください。リダイレクトを使用しても問題は解決しません。リダイレクトはログの表面的な修正に過ぎません。正しい方法は、これらのエラーをログからフィルタリングすることです。 Apacheでは、以下を使用してこれらのエラーを削除できます。

Redirect 404 /favicon.ico

<Location /favicon.ico>
    ErrorDocument 404 "No favicon
</Location>

代替サーバープラットフォームの場合、Stack OverflowとGoogleで多くのソリューションを見つける必要があります。

2
Simon Hayter

ブラウザは通常のファイルよりも長くファビコンをキャッシュする傾向があるため、カウンタとして使用しようとすると、おそらくカウンタが非常に信頼できなくなります。うまくいったとしても、ミックスにリダイレクトを追加しているので、これはページを不必要に遅くします。

標準コードに固執するだけで、ファビコンエラーが問題になる場合は、言及されているオプションのいずれかを使用してください。一般的に、有効期限が長いヘッダーを持つ空のファビコンを追加するのが最善のソリューションです。これにより、エラーがなくなり、リクエストの量が減ります(通常の訪問者の場合)。

2
Tim Fountain