如何从codeigniter项目中的url中删除index.php

时间:2016-05-10 07:59:26

标签: php codeigniter

我正在Codeigniter中创建一个网站。这是我所知道的非常常见的问题,Stack Overflow上有很多解决方案。我尝试几乎所有,但没有什么对我有帮助。

我只是想从我的网址中删除index.php。有人请告诉我怎么办?

我已从配置文件' s $config['index_page']部分

中删除了index.php

我还检查了$config['uri_protocol'] = 'AUTO';模式,尝试模式自动和REQUEST_URI

我的.httaccess文件结构现在就是:

<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>

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

有人能告诉我怎么做吗?

5 个答案:

答案 0 :(得分:0)

$config['uri_protocol']应为REQUEST_URI,然后.htaccess如下

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

答案 1 :(得分:0)

我有以下内容并且对我有用:

DirectoryIndex index.php
RewriteEngine on

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

答案 2 :(得分:0)

  1. 像这样更改配置文件:
  2. $config['index_page'] = ''; $config['uri_protocol'] = 'AUTO';

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

      注意:.htaccess因服务器而异。在某些服务器(例如:Godaddy)中需要使用以下.htaccess

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

答案 3 :(得分:0)

试试这个......

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

重写基础 /音乐是您的文件夹名称

答案 4 :(得分:0)

=&GT;更改配置文件: -

$config['base_url'] = 'http://123456/proj/';
$config['index_page'] = '';

=&GT;更改.htaccess文件: -

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