2013-04-01 73 views
3

我想从CI中的文件路径中删除index.php文件。我使用的是Ubuntu 12.04。我尝试了几乎所有的论坛结果,但没有成功。删除CI中的index.php文件ubuntu 12.04

我把CI文件夹放在这个路径上。

http://localhost/xxx/CI/ 

我有Apache重写MOD启用。

sudo a2enmod rewrite 
Module rewrite already enabled 

我也有这个在我的conf.php文件

$config['uri_protocol'] = 'AUTO'; 
$config['base_url'] = 'http://localhost/xxx/CI/'; 
$config['index_page'] = ''; 
$config['index_url'] = ''; 

我有这个在我的.htaccess文件

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php/$0 [PT,L] 

.htaccess文件是在这条道路

http://localhost/xxx/CI/.htaccess 

它也可以通过帕什

/etc/apache2/sites-available/default 
AllowOverride All 

我得到这个错误,当我访问该文件,这样

http://localhost/xxx/CI/login/ 
404 Error 
The requested URL /xxx/CI/login/ was not found on this server. 

任何帮助将不胜感激。

感谢

+0

您是否收到了404错误?你的'.htaccess'文件位于哪里? –

+0

是的麦克我得到404错误。我的.htaccess文件位于此路径 http:// localhost/xxx/CI /。htaccess的 – Uahmed

回答

3

尝试使用下面的.htaccess文件:

RewriteEngine On 
RewriteBase /xxx/CI/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L,QSA] 

然后,你uri_protocolAUTOPATH_INFO改变:

$config['uri_protocol'] = 'PATH_INFO'; 

如果启动重新路由一切默认的控制器,然后改变它到ORIG_PATH_INFO

$config['uri_protocol'] = 'ORIG_PATH_INFO'; 

其他信息

插入这些行到您的文件:

Options -Multiviews +FollowSymLinks 
AllowOverride All 
+0

我真的很感激你的回复,我完全按照你的说法做了,但仍然没有工作,给我404错误。首先我改变uri_protocol到PATH_INFO它表明我404错误比我改变它再次ORIG_PATH_INFO它给我的404错误:( – Uahmed

+0

请看看我的修正答案。(附加信息) –

+0

我有这个早些时候在这个文件 的/ etc /的Apache2 /网站可用/默认 选项指标多视图的FollowSymLinks 的AllowOverride所有 我改变这个根据你的消息还是404错误,我重新启动Apache的了。 – Uahmed

0

你有这样的代码在你的htaccess文件

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

我试过了,但仍然相同 – Uahmed

1

如下尝试:

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

并检查阿帕奇 “rewrite_module” 必须启用。

和你的配置中的index_page应该是空的 $ config ['index_page'] ='';

+0

我试过,但它没有工作,是已启用的Apache rewrite_module过,这是真的太$配置[“的index.php”] =“”; – Uahmed

+0

我RewriteBase /无功/网络/ XXX/CI/ – Uahmed

+0

它应该是“XXX/CI /” –