Codeigniter删除Nginx上的index.php

时间:2016-03-19 01:37:10

标签: php .htaccess codeigniter nginx

我正在使用Codeigniter框架,我在共享主机上测试网站,它可以与.htaccess一起使用。但是当我把它上传到其他有Nginx的服务器时,我无法删除index.php。我尝试了几乎所有googel的两个第一页我有相同的结果,它们都没有为我工作,我想从URL中删除index.php。这是对我有用的htaccess。

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

我想在nginx.config中对此htaccess进行回应。 我不知道是什么问题。

3 个答案:

答案 0 :(得分:0)

这也让我疯了。

原来在config.php文件中玩这个有帮助。

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

我现在也使用相同的htaccess规则

答案 1 :(得分:0)

步骤1:转到codeigniter文件夹,打开文件config.php,然后从$ config ['index_page'] =''删除“ index.php”

第2步:在codeigniter文件夹中创建.htaccess文件,然后粘贴以下代码

EnvironmentVariableTarget.Process

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

第3步:查找

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

并替换为

      $config['uri_protocol'] = "AUTO" 

还要检查

      $config['uri_protocol'] = "REQUEST_URI"

第4步:重新启动xampp服务器并检查..

答案 2 :(得分:0)

尝试此方法以获得更好的解决方案

Step 1: Remove index.php from config.php. Open 
/application/config/config.php 
and remove index.php to “” ...
Step 2: Edit htaccess file – For Apache Server. NOTE: This step is not for 
nginx server users, Please check Step 2 for Nginx. ...
Step 3: Edit nginx.conf file – For NGINX Server.