从codeigniter-2中删除index.php

时间:2012-06-13 14:14:23

标签: php codeigniter codeigniter-2

我在从codeigniter-2中删除index.php时遇到问题。 我记得以前使用相同的代码&它工作得非常好,但它不适用于codeigniter-2。

我检查了documentation& this也有问题,但仍然没有任何帮助。

我的.htaccess代码如下:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

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

3 个答案:

答案 0 :(得分:1)

/index.php替换为/site_folder_name/index.php无处不在& 确保您的服务器支持mod_rewrite

您的新代码应如下所示:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /site_folder_name/index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /site_folder_name/index.php?/$1 [L]

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

答案 1 :(得分:0)

试试这个:

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

答案 2 :(得分:0)

你必须为此重新编写.htaccess文件。

最大服务器使用此

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

在godaddy服务器中我必须写这个。有时它适用于godaddy服务器上面的代码。

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