So aktivieren Sie den korrekten Zeichensatz-HTTP-Header in NGINX


39

Was ist der richtige Weg, um korrekte Zeichensatz-Header in NGINX zu aktivieren?

Ich analysiere meine Website mit Google Page Speed. Dort steht, dass ich den Zeichensatz von HTML-Dateien in HTTP-Headern angeben soll. Was ist der richtige Weg, um dies zu tun?

Ich habe bereits versucht, charset utf-8;die server {}Deklaration meiner NGINX-Konfigurationsdatei festzulegen, aber sie hat keine Auswirkungen.

Mein Server antwortet mit dem folgenden Header:

Connection: keep-alive
Date: Fri, 16 Sep 2011 12:43:24 GMT
Last-Modified: Fri, 02 Sep 2011 15:13:17 GMT
Server: nginx/0.7.67

Danke.


Der Link funktioniert nicht mehr.
Pothi Kalimuthu

Antworten:


38

Hinzufügen charset utf-8;ist so ziemlich alles, was Sie tun müssen. Sind Sie sicher, dass Sie nicht vergessen haben, nginx neu zu laden, nachdem Sie die Konfigurationsdatei geändert haben?

Außerdem liefert curl -I http://vorb.de/ zum Zeitpunkt des Schreibens das folgende Ergebnis:

HTTP/1.1 200 OK
Server: nginx/0.7.67
Date: Fri, 16 Sep 2011 13:20:03 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1705
Last-Modified: Fri, 02 Sep 2011 15:13:17 GMT
Connection: keep-alive
Vary: Accept-Encoding
Accept-Ranges: bytes

Jetzt sieht alles in Ordnung aus.



5

Möglicherweise müssen Sie die charset_typesEinstellung auch so anpassen , dass sie den MIME-Typ enthält, für den Sie die Zeichensatz-Einstellung festlegen möchten (z. B. Text / Kalender ist dort standardmäßig nicht enthalten).

Für das, was es wert ist, denke ich, text/*sollte dies standardmäßig behandelt werden - aber Sie können es hier nicht verwenden (wie bei Apache IIRC).

Siehe http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types


2
    charset utf-8;
    source_charset utf-8;

Ist was du brauchst. Es wird bei mir nicht funktionieren, wenn ich nicht beides habe.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.