Frage Wie setze ich ein favicon.ico für einen bestimmten virtuellen Host auf Nginx?


Ich benutze Nginx zum ersten Mal als meinen Webserver. Ich hatte keine Probleme, es einzurichten und alles funktioniert gut. Das Problem kam, als der Designer mich fragte, ob er mir "das Icon in der Titelleiste" schicken könnte, um es "dort aufzustellen".

# /opt/nginx/conf/nginx.conf
...
server {
    listen 80 ;
    server_name *.website.com website.com;
    root /home/webuser/sites/website;
}

Mein Verzeichnis:

/home/webuser/sites/website/
|_ index.html
|_ main.css
|_ favicon.ico

Ist es möglich, ein bestimmtes favicon.ico jedem virtuellen Host zuzuordnen? Wo sollten Sie diese Datei ablegen und wie können Sie sie konfigurieren?

BEARBEITEN:

Ich habe gerade gemerkt, dass es ein ganz anderes Problem war. Beide Antworten waren richtig, aber mein Problem war die Erlaubnis. Ich weiß nicht, warum die Datei favicon.ico am Ende Berechtigungen 600 hatte und natürlich in dem Moment, als ich es tat:

chmod +r favicon.ico

Lief wie am Schnürchen. Ich werde das hier lassen, wenn es jemand anderem passiert.


23
2017-09-05 13:49


Ursprung


Die 600-Berechtigung bezieht sich möglicherweise auf die Umask (Umask für diesen Benutzer wird beispielsweise auf 077 gesetzt). - jcisio
Das Erlaubnisproblem reparierte es für mich auch! - Kzqai
Berechtigungsproblem auch hier. Wahrscheinlich aufgrund der Erstellung der Ico-Datei durch Hochladen eines PNG auf eine Website. - Aaron Storck


Antworten:


favicon.ico Die Datei sollte in das Root-Verzeichnis der Website gestellt werden, das durch nginx definiert wird root Richtlinie. Oder Sie können URL an Favicon übergeben, indem Sie folgenden Code in HTML verwenden:

<link rel="shortcut icon" href="http://example.com/myicon.ico" />


14
2017-09-05 13:58



Ich habe meine Favicon.ico-Datei dort ... immer noch nicht funktioniert - ersamy
Prüfen grep favicon.ico nginx-{access,error}.log und überprüfen Sie die Ausgabe von file favicon.ico - IE versteht nichts anderes als das ICO-Format. Außerdem zeigt die Konfiguration nur einen VirtualHost an. - AlexD
gut mit PHP-Mist, nicht gut mit statischen Dateien Setup - holms


So machen wir das in unserer spezifischen vhost config (sites-available/[vhostconfigfile]) unter der Server-Richtlinie:

location = /favicon.ico {
    alias /var/www/media/images/favicon.X.ico;
}

Auf diese Weise können Sie es überall ohne HTML platzieren.

Das ".X." ist überhaupt nicht erforderlich und bedeutet nur, dass Sie diesen Dateinamen beliebig ändern können. Ich benutze einfach das ".X". als Platzhalter, um die spezifische Sub-Domain zu identifizieren, die ich referenziere. Es ist rein für die Organisation.


47
2018-01-23 20:00



Das ist perfekt für meine Situation. Ich habe eine einfache index.htm mit Links zu Webmin und phpVirtualBox für meinen Server und ich wollte alle 3 das gleiche benutzerdefinierte Favicon haben. - RyanScottLewis
warum du ... brauchst = da drin? - holms
Das = darf nicht sein erforderlich, aber es kann eine bescheidene Beschleunigung sein und ist richtig. Siehe die Dokumentation: nginx.org/en/docs/http/ngx_http_core_module.html#location - Scott Stafford
Erstens, gibt es eine Notwendigkeit für die .X im /var/www/media/images/favicon.X.ico? Zweitens habe ich diese Lösung genau so gepostet, wie gepostet, immer noch nicht funktioniert. Vielleicht klappt das nicht mit auto_index on; ? Vielleicht erfordert es @ AlexD Empfehlung. - JamesThomasMoon1979
Sie haben Recht, das '.X' ist nicht erforderlich. Wir haben einfach viele Favicons, die alle im selben Ordner für die verschiedenen Sites gespeichert sind, die wir verwenden, und so nennen wir sie eindeutig. Es sollte der genaue Dateiname für die Datei sein, die als "favicon.ico" dienen soll. Die oben aufgeführte Direktive erlaubt eine beliebige Benennung der eigentlichen Datei, während der Webserver dem Browser des Clients den korrekten Dateinamen "favicon.ico" liefern kann. - eficker


Das heißt, wo auch immer die Dateien des virtuellen Hosts von (Stammverzeichnis) genommen werden, sollten Sie diese spezifische Datei favicon.ico einfügen.


0
2017-09-05 13:59