NGINX में सही चारसेट HTTP- हेडर कैसे सक्षम करें


39

NGINX में सही चारसेट हेडर सक्षम करने का सही तरीका क्या है?

मैं Google पृष्ठ गति के साथ अपनी वेबसाइट का विश्लेषण कर रहा हूं। यह कहता है कि मुझे HTTP-हेडर में HTML फ़ाइलों के चारसेट को निर्दिष्ट करना चाहिए। ऐसा करने का सही तरीका क्या है?

मैंने पहले ही अपनी NGINX कॉन्फ़िगरेशन फ़ाइल charset utf-8;की server {}घोषणा में सेट करने की कोशिश की , लेकिन इसका कोई असर नहीं हुआ।

मेरा सर्वर निम्नलिखित हेडर के साथ प्रतिक्रिया करता है:

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

धन्यवाद।


लिंक अब काम नहीं करता है।
पोथी कालीमुथु

जवाबों:


38

जोड़ना charset utf-8;बहुत कुछ है जो आपको करने की ज़रूरत है। सुनिश्चित करें कि कॉन्फ़िगरेशन फ़ाइल को बदलने के बाद आप nginx को पुनः लोड करना नहीं भूले ?

लेखन के क्षण के अलावा, कर्ल -I http://vorb.de/ निम्नलिखित परिणाम देता है:

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

तो अब सब कुछ ठीक लग रहा है।


22

यदि आप UTF-8 चाहते हैं तो "charset_types" निर्देश सेट नहीं करने पर चार्जसेट सेट करना काम नहीं कर सकता है।

उदाहरण के लिए: जब आप "charset utf-8" सेट करते हैं, तो सभी HTML प्रतिबिंबित करेंगे, लेकिन JSON फाइलें नहीं, क्योंकि वे "charset_types" पर डिफ़ॉल्ट रूप से सेट नहीं हैं।

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


5

आपको charset_typesउस माइम प्रकार को शामिल करने के लिए सेटिंग को समायोजित करना पड़ सकता है जिसे आप चारसेट सेटिंग सेट करना चाहते हैं (जैसे टेक्स्ट / कैलेंडर डिफ़ॉल्ट रूप से वहां शामिल नहीं है)।

यह मेरे लायक है जिसके लिए मुझे लगता है कि text/*इसे डिफ़ॉल्ट रूप से संभाला जाना चाहिए - लेकिन आप इसे यहाँ उपयोग नहीं कर सकते (अपाचे IIRC के साथ)।

Http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types देखें


2
    charset utf-8;
    source_charset utf-8;

क्या आप की जरूरत है यह मेरे लिए काम नहीं करेगा जब तक कि मेरे पास दोनों न हों।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.