我知道这个主题已在这里多次见过,但我没有看到他们中的任何一个在这里解决我的问题......
我有一个与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文件中设置的,但似乎它从未被调用过......
有人可以建议我解决这个问题吗?
谢谢!
答案 0 :(得分:0)
试试这个:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
第一个条件确保请求不是有效文件,第二个条件确保它不是有效目录。对文件系统中实际不存在的文件或文件夹的所有请求都通过index.php发送。
答案 1 :(得分:-1)
您无法阻止访问index.php页面,因为它是CI工作的主页。