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.
Antworten:
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:
Jetzt sieht alles in Ordnung aus.
quelle
Das Festlegen des Zeichensatzes funktioniert möglicherweise nicht, wenn Sie nicht die Anweisung "charset_types" festlegen, für die UTF-8 gewünscht wird.
Zum Beispiel: Wenn Sie "charset utf-8;" einstellen, werden alle HTML-Dateien wiedergegeben, jedoch keine JSON-Dateien, da sie nicht standardmäßig auf "charset_types" eingestellt sind.
http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types
quelle
Möglicherweise müssen Sie die
charset_types
Einstellung 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
quelle
Ist was du brauchst. Es wird bei mir nicht funktionieren, wenn ich nicht beides habe.
quelle