在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'] ='';我有一个不同的错误。
我做错了什么?
答案 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