2009-08-12 14 views
5

मेरे कोडाना प्रोजेक्ट को मेरे गोडाडी सर्वर पर अपलोड करने के बाद, मैंने अपना मानक देखा। एचटीएसीएसी फाइल स्वच्छ यूआरएल प्रदान करने के लिए पर्याप्त रूप से काम नहीं कर रही थी।

RewriteRule .* index.php?kohana_uri=$0 [PT,L] 

यह मिल गया मेरा अच्छा-यूआरएल फिर से काम, लेकिन आज मुझे पता यह अपने आंतरिक खोज इंजन है, जो भी का उपयोग करता है को तोड़ने जा सकता है कि प्राप्त शैली: कुछ मार्गदर्शन के बाद, मैं निम्नलिखित नियम के साथ समाप्त हो गया चर:

/search?terms=php 

स्क्रिप्ट द्वारा मूल्य नहीं मिल रहे हैं। वे मेरे विकास-सर्वर पर हैं जिनमें संशोधित रिवाइटरूल नहीं है, लेकिन गोडाडी सर्वर पर नहीं है जो रिवाइटरूल का उपयोग करता है।

क्या मैं यह मानने में सही हूं कि नियम किसी भी स्क्रिप्ट को $ _GET से पढ़ने की क्षमता तोड़ रहा है, और यदि ऐसा है तो मैं इसका समाधान कैसे कर सकता हूं?

उत्तर

8

हो सकता है कि आपके rewriterules में QSA उपयोग करते हुए, इस तरह:

RewriteRule .* index.php?kohana_uri=$0 [PT,QSA,L] 

देखें manual of mod_rewrite (के हवाले से):

'qsappend | QSA' (क्वेरी स्ट्रिंग संलग्न)

यह झंडा को बदलने की जगह मौजूदा स्ट्रिंग में प्रतिस्थापन स्ट्रिंग के एक क्वेरी स्ट्रिंग भाग को जोड़ने के लिए पुनर्लेख इंजन को मजबूर करता है यह। जब आप नियम को फिर से लिखकर क्वेरी स्ट्रिंग में डेटा जोड़ना चाहते हैं तो इसका उपयोग करें।

मदद कर सकता है (अपने विशेष मामले में जांच नहीं की है, लेकिन मैं इस तरह की समस्या किसी तरह का के लिए इस में कुछ समय पहले का इस्तेमाल किया है, तो याद रखें)

+0

यह काम किया। मैं इंतजार करूँगा और दूसरों को भाग लेने दूंगा (क्योंकि मुझे स्वीकार करने से पहले .htaccess के बारे में बहुत कम पता है, और जैसे कि यह सबसे अच्छा समाधान है)। धन्यवाद! – Sampson

+0

कोई समस्या नहीं :-) आपका स्वागत है! –

1

मुझे लगता है कि आप जोड़ सकते हैं: RewriteCond $1 !^(search), या इस तरह की एक भिन्नता।

0

आप मानक अभ्यास और क्वेरी स्ट्रिंग के बिना उपयोग करना चाहते हैं आपको इन चरणों का पालन करने की आवश्यकता है और यह स्थानीयहोस्ट की तरह ही काम करेगा और आपको पुनः लिखने के नियमों को बदलने की आवश्यकता नहीं है।

जाओ अपने GoDaddy खाते फ़ाइल प्रबंधक पर -> WebRoot निर्देशिका -> php5.ini बनाएं अगर यह मौजूद नहीं है और जगह निम्नलिखित पंक्ति: cgi.fix_pathinfo = 1

अब आप अपने वेब प्रक्रिया फिर से शुरू करनी :

1.) अपने खाता प्रबंधक में लॉग इन करें। 2.) वेब होस्टिंग पर क्लिक करें। 3.) होस्टिंग खाते के आगे आप उपयोग करना चाहते हैं, लॉन्च करें पर क्लिक करें। 4.) आंकड़े & मॉनीटर अनुभाग में, सिस्टम प्रक्रियाओं पर क्लिक करें। 5.) बाईं ओर दी गई सूची में, उस प्रक्रिया को क्लिक करें जिसे आप देखना चाहते हैं या सभी प्रक्रियाओं को एक बार में देखने के लिए क्लिक करें। 6.) एक प्रक्रिया को समाप्त करने के लिए, टूलबार पर संबंधित अंत बटन पर क्लिक करें।

अब आप ऑटो के रूप में URI_PROTOCOL का उपयोग कर सकते हैं।