Cách bật tiêu đề HTTP chính xác trong NGINX


39

Cách đúng để kích hoạt tiêu đề bộ ký tự chính xác trong NGINX là gì?

Tôi đang phân tích trang web của mình với Google Page Speed. Nó nói rằng tôi nên chỉ định bộ ký tự của các tệp HTML trong các tiêu đề HTTP. Cách đúng đắn để làm điều này là gì?

Tôi đã cố gắng thiết lập charset utf-8;trong server {}tuyên bố của tập tin cấu hình nginx của tôi, nhưng nó đã không có bất kỳ tác dụng.

Máy chủ của tôi trả lời với tiêu đề sau:

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

Cảm ơn bạn.


Liên kết không hoạt động nữa.
Pothi Kalimuthu

Câu trả lời:


38

Thêm charset utf-8;là khá nhiều thứ bạn cần làm. Bạn có chắc chắn rằng bạn đã không quên tải lại nginx sau khi bạn thay đổi tệp cấu hình không?

Ngoài ra tại thời điểm viết bài, curl -I http://vorb.de/ trả về kết quả sau:

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

Vì vậy, mọi thứ có vẻ ổn bây giờ.



5

Bạn cũng có thể phải điều chỉnh charset_typescài đặt để bao gồm loại mime bạn muốn đặt cài đặt bộ ký tự cho (ví dụ: văn bản / lịch không được bao gồm ở đó theo mặc định).

Đối với những gì đáng giá tôi nghĩ rằng text/*nên được xử lý theo mặc định - nhưng bạn không thể sử dụng nó ở đây (như với Apache IIRC).

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


2
    charset utf-8;
    source_charset utf-8;

Là những gì bạn cần. Nó sẽ không làm việc cho tôi trừ khi tôi có cả hai.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.