2012-02-29 20 views
12

जोड़ने के बिना रीडायरेक्ट करें, मैं कुछ नियंत्रकों के साथ साइट पर काम कर रहा हूं, और http://www.host.com/controller/function/params से http://www.host.com/index.php/controller/function/params के लिए अपाचे कॉन्फ़िगरेशन में मेल खाने वाली कुछ सरल नियमित अभिव्यक्तियों का उपयोग करके मेरे सर्वर को कॉन्फ़िगर करने के लिए कॉन्फ़िगर किया है। अब, मैं अपने नियंत्रकों में से किसी एक को रीडायरेक्ट करने की कोशिश कर रहा हूं, लेकिन URL पर index.php जोड़ने के बिना, redirect() फ़ंक्शन करता है। कोडिनेटर में ऐसा करने का कोई आसान तरीका है? धन्यवाद पहले से ही!codeigniter यूआरएल index.php

उत्तर

62

आप redirect का उपयोग कर सकते हैं। यह केवल index.php जोड़ता है यदि यह आपके इंडेक्स पेज के रूप में कॉन्फ़िगर किया गया है।

तो, अपने index_page कॉन्फ़िगरेशन की जांच करें। यह एक खाली स्ट्रिंग होना चाहिए:

$config['index_page'] = ''; 

फ़ाइल: app/config/config.php

और जानकारी: http://www.codeigniter.com/user_guide/general/urls.html?highlight=mod_rewrite [अपडेट किया गया संस्करण]

+0

उतना सरल, धन्यवाद :) – SuperTron

+0

वैसे, क्या कॉन्फ़िगरेशन पैरामीटर कोडनिर्देशक में किसी और चीज को प्रभावित करता है या यह सख्ती से रीडायरेक्ट के लिए है? – SuperTron

+0

यदि कई यूआरएल संबंधित कार्यों को प्रभावित करता है, जैसे 'site_url()', उदाहरण के लिए (जिसे बीटीडब्ल्यू 'रीडायरेक्ट' द्वारा उपयोग किया जाता है) –

0

आप अपने codeignitor आधारित परियोजना के रूट फ़ोल्डर के लिए एक और .htaccess जोड़ सकते हैं और लिखने के लिए की जरूरत है वहाँ उदाहरण के नीचे के रूप में कुछ रीडायरेक्ट नियमों:

RewriteEngine On 
RewriteBase /codeignitortest/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) index.php?$1 [QSA,L] 

या आवेदन में नीचे कर सकते हैं/config/config.php

$ config ['index_page'] = 'index.php'; $ config ['index_page'] = '';

1

मैंने $ config ['index_page'] = '' का उपयोग किया; यह काम किया।