CodeIgniter removing index.php from url CodeIgniter removing index.php from url codeigniter codeigniter

CodeIgniter removing index.php from url


Try the following

Open config.php and do following replaces

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

to

$config['index_page'] = ""

In some cases the default setting for uri_protocol does not work properly. Just replace

$config['uri_protocol'] ="AUTO"

by

$config['uri_protocol'] = "REQUEST_URI"

.htaccess

RewriteEngine onRewriteCond $1 !^(index\.php|resources|robots\.txt)RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php/$1 [L,QSA] 

Note: .htaccess code vary depending on hosting server. In some hosting server (e.g.: Godaddy) need to use an extra ? in the last line of above code. The following line will be replaced with last line in applicable case:

// Replace last .htaccess line with this lineRewriteRule ^(.*)$ index.php?/$1 [L,QSA] 


Step:-1 Open the folder “application/config” and open the file “config.php“. find and replace the below code in config.php file.

//find the below code   $config['index_page'] = "index.php" //replace with the below code$config['index_page'] = ""

Step:-2 Go to your CodeIgniter folder and create .htaccess

Path:Your_website_folder/application/assets/system/.htaccess <——— this fileindex.php

Step:-3 Write below code in .htaccess file

<IfModule mod_rewrite.c>RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php/$1 [L] </IfModule>

Step:-4 In some case the default setting for uri_protocol does not work properly. To solve this problem just open the file “application/config/config.php“, then find and replace the below code

//Not needed for CodeIgniter 3 its already there.//find the below code$config['uri_protocol'] = "AUTO"//replace with the below code$config['uri_protocol'] = "REQUEST_URI" 

Thats all but in wamp server it does not work because rewrite_module by default disabled so we have need to enable it. for this do the following

  1. Left click WAMP icon
  2. Apache
  3. Apache Modules
  4. Left click rewrite_module

Original Documentation

Example Link


Step 1 :

Add this in htaccess file

<IfModule mod_rewrite.c>  RewriteEngine On  #RewriteBase /  RewriteCond %{REQUEST_FILENAME} !-f  RewriteRule ^ index.php [QSA,L]</IfModule>

Step 2 :

Remove index.php in codeigniter config

$config['base_url'] = ''; $config['index_page'] = '';

Step 3 :

Allow overriding htaccess in Apache Configuration (Command)

sudo nano /etc/apache2/apache2.conf

and edit the file & change to

AllowOverride All

for www folder

Step 4 :

Enabled apache mod rewrite (Command)

sudo a2enmod rewrite

Step 5 :

Restart Apache (Command)

sudo /etc/init.d/apache2 restart