0

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

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

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

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

这是我的 .htacess(如 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 文件中,但似乎从未调用过...

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

谢谢 !

4

2 回答 2

0

试试这个:

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

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

于 2012-07-18T10:15:33.303 回答
-1

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

于 2012-07-18T10:14:46.320 回答