Reputation: 1
I have a problem. I need to remove index.php from URL in CodeIgniter framework. Anybody can help me?
Upvotes: 0
Views: 688
Reputation: 770
You just need to create .htaccess file in project folder and write:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
#And You don't need to define in base_url in config file:
$config['base_url'] = '';// blank it.
I hope You Understand..
Upvotes: 0
Reputation: 618
To avoid "index.php" from codeigniter url, follow the steps below.
1.Open config.php from system/application/config directory and replace
$config['index_page'] = “index.php”
by
$config['index_page'] = “”;
2.Create a “.htaccess” file in the root of CodeIgniter directory (where the system directory resides), open the file using your favorite text editor, write down the following script and save it:
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
3.In some case the default setting for uri_protocol does not work properly. To solve this problem just replace
$config['uri_protocol'] = “AUTO”
by
$config['uri_protocol'] = “REQUEST_URI”
from system/application/config/config.php
Upvotes: 0
Reputation: 1837
for lighttpd:
enable mod_rewrite module and set this in you lighttpd.conf
server.document-root = "/var/www/ci/",
url.rewrite-once = (
"/(.*)\.(.*)" => "$0",
"/(css|files|img|js|stats|user_guide)/" => "$0",
"^/([^.]+)$" => "/index.php/$1"
)
Upvotes: 2