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.
Odpowiedzi:
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:
Więc teraz wszystko wygląda dobrze.
źródło
Ustawienie zestawu znaków może nie działać, jeśli nie ustawisz dyrektywy „charset_types”, którą chcesz UTF-8.
Na przykład: Po ustawieniu „charset utf-8;” wszystkie pliki HTML będą odzwierciedlane, ale nie pliki JSON, ponieważ nie są one ustawione domyślnie na „charset_types”.
http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types
źródło
Może być konieczne dostosowanie tego
charset_types
ustawienia, 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
źródło
To jest to czego potrzebujesz. Nie zadziała dla mnie, chyba że mam oba.
źródło