我正在使用CodeIgniter v.3.0.4,我无法从网址中删除'index.php'。
我添加了.htaccess文件:
sid
在应用程序文件夹中> config.php>我将值编辑为:
<ifmodule mod_rewrite.c="">
RewriteEngine On
RewriteBase /project_01/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</ifmodule>
<ifmodule !mod_rewrite.c="">
ErrorDocument 404 /index.php
</ifmodule>
和
$config['index_page'] = '';
和
$config['uri_protocol']= 'REQUEST_URI';
我检查过我的Apache服务器配置文件旁边没有井号:
$config['base_url'] = 'http://localhost/Project_01/';
我做错了什么?或者我不做什么?
在先前版本的CI中它运行良好,有什么变化?
答案 0 :(得分:1)
由于您的规则是将请求发送到查询字符串,因此您需要QUERY_STRING
使用uri_protocol
,而不是REQUEST_URI
。
作为替代方案,如果您希望保留REQUEST URI
,则可以将规则更改为以下任一项:
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule ^ index.php [L]