Remove index.php in CodeIgniter

2020-04-17 18:24发布

问题:

I'm trying to remove the 'index.php' from CI Urls.

I've tried many solutions, none of them worked. I've already set these variables in 'config.php':

$config['index_page'] = "";
$config['uri_protocol'] = "REQUEST_URI";

And my current .htaccess is:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^plugb.com$ [NC]
RewriteRule ^(.*)$ http://www.plugb.com/$1 [R=301,L]

RewriteCond $1 !^(index\.php|files|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

The www prefix part works fine. But the 'index.php' part doesn't. If you want to check the webpage, here is it: http://www.plugb.com/index.php/home

回答1:

There's instructions on how to do this in the URLs Section of the CodeIgniter User Guide under the section "Removing the index.php file".



回答2:

Take your application folder out of the system folder and use this code:

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

It should work.