首先,我已经使用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
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]
答案 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>