删除codeigniter中的index.php

时间:2011-08-30 07:27:15

标签: php codeigniter

我知道这是最重复的CI问题。

我正在使用Kubuntu并进行了以下更改

$config['base_url']='http://localhost/cii/';
$config['index_page'] = '';
$config['uri_protocol']= 'REQUEST_URI';

我保留了我的.htaccess文件,其中保存了index.php(在根文件夹中)但是出现了以下错误:

The requested URL /cii/welcome/second was not found on this server.(404 error)

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond $1 !^(index\.php|images|robots\.txt|css)
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule> 

<IfModule !mod_rewrite.c>
     ErrorDocument 404 /index.php
</IfModule>

2 个答案:

答案 0 :(得分:2)

问题可能是由于apache sites-available配置文件中的文档根路径的 AllowOverride None 。您需要修改包含AllowOverride None的行以读取文件中的 AllowOverride All (/ etc / apache2 / sites-available / default),以使.htaccess文件按预期工作。在进行更改后,请重新启动apache。

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

Enabling use of Apache htaccess files.

答案 1 :(得分:0)

我猜错误是因为您的CI位于子文件夹/ cii,但重写规则指向根文件夹。 尝试在第一个块中添加RewriteBase / cii /。