2012-02-19 11 views
5

मुझे यकीन है कि अगर यह सच में एक CodeIgniter मुद्दा या एक ब्राउज़र मुद्दा है नहीं कर रहा हूँ। यह क्रोम में होता है, लेकिन सफारी नहीं। हालांकि, मुझे लगता है कि यह किसी भी ब्राउज़र में नहीं हो रहा है।कोडइग्निटर रीडायरेक्ट यूआरएल के अंत में हैश/पाउंड (#) को क्यों नहीं हटाता है?

आप example.com/foo# कि

redirect('bar'); 

आप example.com/bar पर खत्म करने की उम्मीद हैं पर जाएँ। इसके बजाय, आप example.com/bar# पर समाप्त होते हैं। मुझे समझ में नहीं आता है कि हैश क्यों नहीं जाता है। इसका कोई मतलब नही बनता। क्या हो रहा है?

उत्तर

5

यह नहीं कर सकता। हैश टैग केवल एक ग्राहक साइड स्क्रिप्ट द्वारा पहुँचा जा सकता है। कोड इग्निटर, PHP या किसी अन्य सर्वर साइड स्क्रिप्ट को यह भी पता नहीं चलेगा कि # चिह्न के बाद क्या है। सर्वर पर भेजा गया अनुरोध यह है कि # चिह्न से पहले। # साइन के बाद भाग को दस्तावेज़ में व्याख्या करने के लिए पास किया गया है। यदि आईडी के साथ # चिह्न के रूप में कोई तत्व है, तो पृष्ठ नीचे स्क्रॉल करता है। अन्यथा जेएस इसे पढ़ सकते हैं और अपनी इच्छानुसार चीजों को कर सकते हैं।

इसके अलावा, एक HTTP स्थानान्तरण मूल पृष्ठ के रूप में ही मानकों के साथ अनुरोध को रीडायरेक्ट, तो hastag भी

10

पारित हो जाता है ताज़ा विधि का उपयोग करें यदि आप हैश छोड़ने की आवश्यकता:

redirect('bar', 'refresh'); 
संबंधित मुद्दे