790 Stimmen

Wie kann man favicon.ico-Anfragen verhindern?

Ich habe kein favicon.ico, aber mein Browser fordert es immer an.

Ist es möglich, den Browser daran zu hindern, eine Anfrage nach dem Favicon von meiner Website zu stellen? Vielleicht mit einem META-TAG im HTML-Header?

35 Stimmen

+1 Gute Frage, aber es scheint, dass die einfachste Lösung darin besteht, ein gültiges Favicon hinzuzufügen :-) Sicherlich ist das eine Sache von einer Minute und Ihre Website sieht sofort professioneller aus?

2 Stimmen

Ich mag diese Frage, möchten Sie vielleicht zu erforschen Kodierung einer base64 Favicon innerhalb Ihrer Seite (zugegeben, müssen Sie ein Symbol erste dann zu bekommen).

7 Stimmen

Sie können auch eine leere favicon.ico-Datei verwenden. Dadurch werden die Anfragen (nach der ersten) gestoppt, aber der Browser rendert nicht ein leeres Favicon, wo er normalerweise das Standardsymbol rendert.

13voto

Parth Patel Punkte 190

Der einfachste Weg, diese zu Testzwecken vorübergehend zu blockieren, besteht darin, die Inspektionsseite in Chrome zu öffnen, indem man mit der rechten Maustaste auf eine beliebige Stelle der Seite klickt und auf "Inspektion" klickt oder indem man Ctrl+Shift+j und dann auf die Registerkarte "Netzwerke" gehen und dann die Seite neu laden, wodurch alle Anfragen gesendet werden, die Ihre Seite machen soll, einschließlich der lästigen favicon.ico. Sie können nun einfach mit der rechten Maustaste auf die favicon.ico-Anforderung klicken und auf "URL-Anforderung blockieren".

screenshot of blocking a specific request URL for Chrome browser

Alle oben genannten Antworten gelten für Entwickler, die den Quellcode der Anwendung kontrollieren. Wenn Sie ein Systemadministrator sind, der sich um die Konfiguration von Load-Balancern oder Proxys kümmert und von diesem favicon.ico-Unfug genervt ist, leistet dieser einfache Trick bessere Arbeit. Diese Antwort ist für Chrome, aber ich denke, es sollte eine ähnliche Alternative geben, die Sie für Firefox/Opera/Tor/jeden anderen Browser herausfinden würden :)

12voto

Tarik Huclaslun Punkte 71

Geben Sie dies in Ihren HTML-Kopf ein:

<link rel="icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12P4//8/AAX+Av7czFnnAAAAAElFTkSuQmCC">

Diese ist etwas größer als die anderen Antworten, enthält aber ein tatsächlich gültiges PNG-Bild (1x1 Pixel weiß).

1 Stimmen

Auch data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=

6voto

Anon1 Punkte 69

Sie können .htaccess oder Server-Direktiven verwenden, um den Zugriff auf favicon.ico zu verweigern, aber der Server sendet eine Antwort auf die Zugriffsverweigerung an den Browser, was den Seitenzugriff weiter verlangsamt.

Sie können den Browser davon abhalten, die Datei favicon.ico anzufordern, wenn ein Benutzer zu Ihrer Website zurückkehrt, indem Sie sie im Browser-Cache ablegen.

Stellen Sie zunächst ein kleines favicon.ico-Bild bereit, das leer sein kann, aber so klein wie möglich ist. Ich habe ein schwarz-weißes Bild mit weniger als 200 Bytes erstellt. Dann setzen Sie mit Hilfe von .htaccess oder Server-Direktiven die Datei Expires header ein oder zwei Monate in die Zukunft. Wenn derselbe Benutzer Ihre Website erneut aufruft, wird sie aus dem Browser-Cache geladen, und es wird keine Anfrage an Ihre Website gerichtet. In den Serverprotokollen gibt es auch keine 404-Anfragen mehr.

Wenn Sie die Kontrolle über einen kompletten Apache-Server oder vielleicht einen virtuellen Server haben, können Sie dies tun:-

Wenn das Root-Verzeichnis des Servers z. B. /var/www/html ist, fügen Sie Folgendes zu /etc/httpd/conf/httpd.conf hinzu: -

Alias /favicon.ico "/var/www/html/favicon.ico"
<Directory "/var/www/html">
    <Files favicon.ico>
       ExpiresActive On
       ExpiresDefault "access plus 1 month"
    </Files>
</Directory>

Dann funktioniert ein einziges favicon.ico für alle virtuell gehosteten Sites, da Sie es als Alias verwenden. Es wird einen Monat lang nach dem Besuch des Nutzers aus dem Browser-Cache gezogen.

Für .htaccess wird berichtet, dass dies funktioniert (von mir nicht überprüft):-

AddType image/x-icon .ico
ExpiresActive On
ExpiresByType image/x-icon "access plus 1 month"

0 Stimmen

Vergessen Sie nicht, das Modul zu aktivieren: ~ /etc/apache2 # a2enmod expires && service apache2 restart

6voto

Marcio Mazzucato Punkte 8273

Eine sehr einfache Lösung ist, den folgenden Code in Ihre .htaccess . Ich hatte das gleiche Problem und es hat mein Problem gelöst.

<IfModule mod_alias.c>
    RedirectMatch 403 favicon.ico
</IfModule>

Referenz: http://perishablepress.com/block-favicon-url-404-requests/

0 Stimmen

Der hier verlinkte Artikel ist sehr gut, aber ich glaube, die Syntax in der Antwort ist falsch.

2 Stimmen

Sie erhalten also einen 403-Fehler (Verboten) statt eines 404-Fehlers. Inwiefern ist das besser?

5voto

Petruza Punkte 10928

In Anlehnung an frühere Antworten könnte dies die kürzeste Lösung aus der HTML-Datei selbst sein:
<link rel="shortcut icon" href="data:" />

Getestet, funktioniert, keine Fehlermeldungen oder fehlgeschlagene Anfragen auf Chrome Version 94.0.4606.81

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X