codeigniter从url中删除索引

时间:2017-01-27 16:29:36

标签: php apache .htaccess codeigniter

首先,我已经使用google完成了我的作业。但是对htaccess没有任何想法,这就是为什么我尝试了所有可能的解决方案。 因此,不要将此问题视为重复。

Codeigniter version : 3.1.3
Php version :5.6.29
Os : debian 8
Web server : apache2

问题: 如果我访问default_controller路由它的工作正常,但如果我正在尝试访问任何其他路由,而不是它的需要index.php

想要访问:

http://<ip>/folder_name/<route>

工作:

http://<ip>/folder_name/index.php/<route>

配置变量:

base_url =http://<ip>/folder_name/ //showing default controller and working fine.

$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';

路径:

Your_website_folder/
application/
assets/
system/
.htaccess <——— this file
index.php

尝试 .htaccess

1。Get from codeigniter

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

2

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 :(得分:0)

.css

答案 1 :(得分:0)

进入 /etc/apache2/apache2.conf 后,找到以下部分,并将AllowOverride的行从None更改为All。该部分现在应如下所示:

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

答案 2 :(得分:0)

在根目录中创建.htaccess文件并重写规则

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ index.php?url=$1 [PT,L] 

</IfModule>