Jak włączyć poprawny nagłówek HTTP zestawu znaków w NGINX


39

Jaki jest właściwy sposób, aby umożliwić prawidłowe nagłówki zestawu znaków w NGINX?

Analizuję swoją witrynę za pomocą Google Page Speed. Mówi, że powinienem określić zestaw znaków HTML w nagłówkach HTTP. Jak to zrobić?

Próbowałem już ustawić charset utf-8;w server {}deklaracji pliku konfiguracyjnego NGINX, ale nie przyniosło to żadnego efektu.

Mój serwer odpowiada następującym nagłówkiem:

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

Dziękuję Ci.


Link już nie działa.
Pothi Kalimuthu

Odpowiedzi:


38

Dodawanie charset utf-8;to prawie wszystko, co musisz zrobić. Czy na pewno nie zapomniałeś ponownie załadować nginx po zmianie pliku konfiguracyjnego?

Poza tym w momencie pisania curl -I http://vorb.de/ zwraca następujący wynik:

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

Więc teraz wszystko wygląda dobrze.



5

Może być konieczne dostosowanie tego charset_typesustawienia, aby uwzględnić typ MIME, dla którego chcesz ustawić ustawienie zestawu znaków (np. Tekst / kalendarz nie jest tam domyślnie dołączany).

Jeśli chodzi o to, co warto, myślę, że text/*powinno to być obsługiwane domyślnie - ale nie można go tutaj używać (jak w przypadku Apache IIRC).

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


2
    charset utf-8;
    source_charset utf-8;

To jest to czego potrzebujesz. Nie zadziała dla mnie, chyba że mam oba.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.