2010-03-18 10 views
20

में यूनिकोड वर्ण अनदेखी कर रहा है मैं स्थायी लिंक के इस प्रकार के साथ वर्डप्रेस का उपयोग कर रहा:Wordpress यूआरएल

/% साल% /% monthnum% /% postname%/

अगर मैं यूआरएल के इस प्रकार का उपयोग करें: example.com/2010/03/ तकनीक

यह इस यूआरएल को इस example.com/2010/03/ (यूनिकोड वर्णों को अनदेखा करके) और मार्च 2010 संग्रह सूची प्रदर्शित करता है।

यदि मैं अंग्रेजी यूआरएल का उपयोग करता हूं: example.com/2010/03/technology तो यह पूरी तरह से काम करता है।

यह समस्या टैग पेज पर भी होती है: उदाहरण के लिए example.com/tag/ इंटरनेट का उदाहरण example.com/tag/ जैसा है और 404 पेज प्रदर्शित करता है।

वर्डप्रेस यूनिकोड वर्णों को अनदेखा क्यों कर रहा है?

यदि मैं डिफ़ॉल्ट क्वेरीस्ट्रिंग संरचना का उपयोग करता हूं तो यह यूनिकोड वर्णों के साथ भी पूरी तरह से काम करता है।

सर्वर जानकारी: IIS7 Win2008 सर्वर (यूआरएल सक्षम पुनर्लेखन) Wordpress 2.9.2

+0

यूआरएल को फिर से लिखने के लिए आप क्या उपयोग कर रहे हैं? –

उत्तर

4

मैं स्थानीय मशीन पर WAMP सर्वर चल रहा हूँ। मैंने अपने आईआईएस 7 वेब सर्वर पर $ _SERVER ['PATH_INFO'] का परीक्षण किया और पाया कि इसमें कुछ यूनिकोड समस्या है। वर्डप्रेस urls को संभालने के लिए path_info का उपयोग करता है। मैं निम्नलिखित कोड के साथ एक फ़ाइल test.php बनाया:

मेरा अनुरोध है http://example.com/test.php/कुछशब्द/कुछऔरशब्द/english

तो मैं इस उत्पादन मिलता है

---- **** ----

/???????/?????????/english ---- **** ---- path_info यूनिकोड हिंदी वर्णों को ????? में परिवर्तित कर रहा है। इसका मतलब है कि मेरे सर्वर में path_info चर में कुछ समस्या है। क्या आप किसी भी सेटिंग IIS7 को जानते हैं जो इस प्रकार की समस्या का कारण बन सकता है?

वही कोड मेरे स्थानीय अपाचे विंडोज सर्वर पर पूरी तरह से ठीक काम करता है।

9

समस्या, समीक्षा के अवलोकन के लिए:

http://ruslany.net/2010/03/important-update-for-iis-7-0-fastcgi-module/

यह करने के लिए अब पुराना आप संदर्भित करता है:

http://ruslany.net/2010/02/fastcgi-module-differences-across-iis-versions/

मेरा अपना स्थिति लागू करने विन 7 SP1 से तय हुई थी लेकिन , दिलचस्प बात यह है कि मुझे अभी भी हॉटफिक्स में वर्णित रजिस्ट्री हैक को लागू करने के साथ छोड़ दिया गया था:

http://support.microsoft.com/kb/2277918

1

KB article एक हॉटफिक्स जो मेरे खिड़कियों संस्करण और/या कोड के लिए काम नहीं किया प्रारंभ का उपयोग कर उपयोग करने के लिए प्रदान करता है> भागो जो भी प्रभावी नहीं था और में किसी कारण से रजिस्ट्री कुंजी नहीं जोड़ा था,

1) जोड़े रेग: पर विंडोज 7 अंतिम और आईआईएस 7.5.7600

reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\w3svc\Parameters /v FastCGIUtf8ServerVariables /t REG_MULTI_SZ /d REQUEST_URI\0PATH_INFO 

मेरे मामले मैं निम्नलिखित विकल्पों में से एक करना था। कुंजी मैन्युअल HKEY_LOCAL_MACHINE \ प्रणाली के तहत \ CurrentControlSet \ नई बहु स्ट्रिंग मान >> मूल्य का नाम जोड़कर सेवाएं \ W3SVC \ पैरामीटर: FastCGIUtf8ServerVariables मान डेटा (दो पंक्तियां): REQUEST_URI PATH_INFO

2) निष्पादित cmd.exe का उपयोग व्यवस्थापक के रूप में करते हुए कोड को चिपकाएं और

दोनों तरीकों से cmd.exe पर iisreset कमांड को पिछले चरण के बाद व्यवस्थापक के रूप में निष्पादित करना याद रखें।