删除CodeIgniter_2.1.4中的index.php

时间:2014-03-06 12:59:48

标签: php .htaccess codeigniter ubuntu

我是Codeigniter中的新手并尝试配置Codeigniter

但我无法从网址中删除index.php

我按照用户指南中提供的数据更改了.htaccess文件。

.htacess文件包含

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

并且还更改了配置文件

$config['index_page'] = '';

当我尝试使用以下网址时,结果

在此服务器上找不到请求的网址/ codeigniter / pages / view。

http://localhost/codeigniter/pages/view

但我在url中尝试使用index.php。正常显示页面..

http://localhost/codeigniter/index.php/pages/view

是.htaccess问题还是我必须更改其他一些文件..

如何摆脱这个问题?

任何建议,可以接受。

更新

我正在使用ubuntu 3.10

我使用以下命令启用模块重写

 sudo a2enmod rewrite

结果如下

  Module rewrite already enabled

我在

中更改了权限
  /etc/apache2/sites-enabled/000-default

作为

ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

更改此文件后也没有运气..

4 个答案:

答案 0 :(得分:1)

最后我找到了我的问题的答案。如下所示.htaccess解决了我的问题..

    <IfModule mod_rewrite.c>

     RewriteEngine On
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteCond $1 !^(index\.php)
     RewriteRule ^(.+)$ index.php?/$1 [L,QSA]

    </IfModule>

感谢所有..

答案 1 :(得分:0)

httpd.conf(在Windows上)

取消注释

LoadModule rewrite_module modules/mod_rewrite.so

在ubuntu中  使用mod_rewrite

启用sudo a2enmod rewrite

进行更改后重启apache

答案 2 :(得分:0)

进行此更改

在config.php中

$config['index_page'] = '';

IN root .htaccess文件

DirectoryIndex index.php

RewriteEngine On

RewriteCond $1 !^(index\.php|themes|utils|robots\.txt|favicon\.ico)

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ ./index.php?/$1 [L]

答案 3 :(得分:0)

没有人提到更改设置。在你的httpd配置文件中找到并更改它

<Directory "/var/www/html">  # your DocumentRoot setting
    Options FollowSymLinks
    AllowOverride All  # default is None
    Order allow,deny
    Allow from all
</Directory>