如何从Fast-cgi中的codeigniter中删除index.php

时间:2014-10-06 16:28:49

标签: .htaccess codeigniter fastcgi

在Code_gniter的Fast-cgi环境中遇到mod_rewrite问题。我的.htaccess看起来像这样:

    DirectoryIndex index.php
    RewriteEngine on
    RewriteCond $1 !^(index\\.php|images|css|js|robots\\.txt|favicon\\.ico)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?$1 [L] 

但是我收到错误'没有指定输入文件'。

我改为

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L]

RewriteCond $1 !^(index\.php|images|robots\.txt)
#RewriteRule ^(.*)$ /index.php?/$1 [QSA,L]

<IfModule mod_php5.c>
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

<IfModule !mod_php5.c>
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

它也适用于这个:

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

我的问题是,如果我从$ config ['index_page'] ='index.php'更改配置文件application / config / config.php,我仍然在URL上有index.php; to $ config ['index_page'] ='';我有一个不同的错误。

我做错了什么?

3 个答案:

答案 0 :(得分:0)

在.htaccess中添加代码

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

和config.php文件更改

$config['index_page'] = 'index.php';

$config['index_page'] = '';

答案 1 :(得分:0)

将此代码添加到.htaccess文件中

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

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


//find the below code   

$config['index_page'] = "index.php"

//replace with the below code

$config['index_page'] = ""

答案 2 :(得分:0)

将此代码添加到.htaccess文件中,请注意index.php后面的问号,这就是窍门。

$config['index_page'] = "index.php"

在config.php中找到以下代码

$config['index_page'] = ""

替换为以下代码

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py