CodeIgniter remove index.php displays 404


CodeIgniter remove index.php displays 404

我知道这个主题在这里已经被看到很多次了,但我没有看到他们中的任何一个在这里解决我的问题。。。

我有一个正在使用Codeigniter的应用程序。我试图删除URL中的index.php,但今天我似乎被诅咒了。

以下是我的config.php文件中的内容:

$config['base_url']   = "http://".$_SERVER['SERVER_NAME']."/";
$config['index_page']    = "";
$config['uri_protocol']  = 'AUTO';

下面是我的.htaccess(如CI所建议的):

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

有了这个,我无法删除URL中的index.php。事实上,它很好地去除了它,但我在屏幕上有一个漂亮的404。

我检查了phpinfos(),看看mod_rewrite是否正确激活,这方面没有问题。

**编辑**

我检查了我的apache日志,下面是我所拥有的:

[Wed Jul 18 12:27:08 2012] [error] [client 127.0.0.1] File does not exist: [PATH]/trunk/user

真正的路径应该是:

[PATH]/trunk/application/controllers/user

我看到所有这些东西都是在index.php文件中设置的,但它似乎从未被调用。。。

有人能建议我解决这个问题吗?

谢谢!

试试这个:

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

第一个条件确保请求不是针对有效文件的,第二个条件确保它不是针对有效目录的。对文件系统中实际不存在的文件或文件夹的所有请求都通过index.php.

发送

您不能阻止对index.php页面的访问,因为它是CI工作的主页面。