2013-08-13 14 views
6

मैं XAMPP में CodeIgniter का उपयोग कर रहा हूं। रहे (उदा function1) एक समारोह URL पर रीडायरेक्ट करने के लिए कोई समस्या थी:वैंप में index.php को कैसे हटाएं?

http://localhost/function1 

जब मैं WAMP लिए बदल गया है, मैं एक समस्या मिला है। मैं फ़ंक्शन 1 पर रीडायरेक्ट नहीं कर सका। हालांकि, function1 अभी भी कम से पहुँचा जा सकता है:

http://localhost/index.php/function1 

कैसे WAMP और CodeIgniter कॉन्फ़िगर करने के लिए index.php दूर करने के लिए? क्रम में कि मैं फ़ंक्शन 1 चला सकता हूं क्योंकि मैं XAMPP का उपयोग कर चलाता हूं।

धन्यवाद।

+2

इसमें क्या समस्या है: http://ellislab.com/codeigniter/user-guide/general/urls.html? –

उत्तर

10

प्रयास करें निम्नलिखित:

1) आवेदन फ़ोल्डर में समानांतर में .htaccess फाइल बना सकते हैं और सिर्फ प्रतिलिपि निम्नलिखित कोड पेस्ट करें: आवेदन फ़ोल्डर में config.php में

RewriteEngine On 
RewriteBase /CodeIgniter/ 
RewriteCond %{REQUEST_URI} ^system.* 
RewriteRule ^(.*)$ /index.php/$1 [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

2) $config['index_page'] खाली करने के लिए बदलें नीचे के रूप में:

$config['index_page'] = ''; 

3) अपाचे के "rewrite_module" को सक्षम करें। WAMP प्रतीक पर क्लिक करें -> अपाचे -> अपाचे मॉड्यूल -> rewrite_module

अब आप url में index.php के बिना अपनी साइट तक पहुंच सकते हैं।

2

एक .htaccess फ़ाइल बनाएँ यदि आपने पहले से नहीं था और उस में इस कोड जोड़ें:

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

आप अपने index.php रूप में एक ही निर्देशिका में इस जगह सुनिश्चित करें।

2

डब्ल्यूएएमपी पर्यावरण में कोडिग्निटर में यूआरएल से index.php को हटाने के लिए केवल तीन चरणों की आवश्यकता है। के रूप में आवेदन फ़ोल्डर में config.php में खाली करने के लिए

RewriteEngine On 
RewriteBase /CodeIgniter/ 
RewriteCond %{REQUEST_URI} ^system.* 
RewriteRule ^(.*)$ /index.php/$1 [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

2) $ बदलें config [ 'index_page']:

1) आवेदन धारक के समानांतर में .htacess फ़ाइल बनाएँ और सिर्फ अतीत निम्न कोड की प्रतिलिपि नीचे:

$config['index_page'] = ''; 

3) अपाचे के "rewrite_module" को सक्षम करें।

अपने अपाचे को पुनरारंभ करें और इसे पूरा करें।

विवरण: http://sforsuresh.in/removing-index-php-from-url-of-codeigniter-in-wamp/

2

mod_rewrite नियम http://ellislab.com/codeigniter/user-guide/general/urls.html में CodeIgniter के आधिकारिक दस्तावेज में सुझाव दिया है

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ index.php/$1 [L] 

WAMP

पर मेरे लिए पूरी तरह से काम किया

यह भी होगा काम:

<IfModule mod_rewrite.c> 

    Options +FollowSymLinks 
    RewriteEngine on 

    # Send request via index.php 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?/$1 [L] 
</IfModule> 

में दो भिन्नताएं, केवल अंतर ही स्थिति है। असल में, क्या मायने रखता है पुनर्लेख नियम है। हालत आपकी आवश्यकता पर निर्भर कर सकती है।

ये दोनों पहले मेरे लिए WAMP पर काम नहीं कर रहे थे। हालांकि, समस्या अपाचे सेटिंग्स में थी। rewrite_module सक्षम नहीं था। तो, यह जांचें कि सक्षम है। आप जांच सकते हैं कि यह phpinfo() का उपयोग कर सक्षम है या नहीं और लोड मॉड्यूल सूची की जांच करें।

आप इसे सक्षम नहीं है, तो आप इसे wampserver प्रबंधक (कार्य पट्टी से उस तक पहुंचने में) का उपयोग करने के लिए सक्षम कर सकते हैं अपाचे> अपाचे मॉड्यूल पर जाएं और 'rewrite_module'

या

ओपन httpd.conf जाँच और जांचें कि LoadModule rewrite_module modules/mod_rewrite.so असम्बद्ध है या नहीं।

आपको परिवर्तनों को सक्रिय करने के लिए WAMPserver को पुनरारंभ करना होगा।

+0

दूसरा समाधान सीआई 2.2.0 के मेरे WAMP इंस्टॉल पर पूरी तरह से काम किया। बस इसे मेरे। Htaccess पर कॉपी किया और यह तुरंत काम किया। मुझे लगता है कि रिवाइटबेस के बिना काम करने लगता है। – DEUTSCHWULF

संबंधित मुद्दे