没有index.php,Codeigniter无法访问控制器

时间:2018-08-30 10:34:05

标签: php .htaccess codeigniter codeigniter-3

我本地的xampp codeigniter projec的网址是 http://localhost/ci_yudeesh/index.php 但是后来想从网址中删除 index.php 部分,因此我按照用户指南中的步骤进行操作。

之后,我可以在没有 index.php 且没有url的情况下访问项目 http://localhost/ci_yudeesh/

我有一个名为 Home 的控制器,我可以使用http://localhost/ci_yudeesh/index.php/home来访问它 ,但是当尝试使用http://localhost/ci_yudeesh/home访问此文件时,会出现此错误:

error image

这是我的配置:

$config['base_url'] = 'http://localhost/ci_yudeesh/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

这是我的.htaccess:

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

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

这是我的路线

$route['default_controller'] = 'Home';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

有人可以帮我解决这个问题吗?我尝试了所有其他类似类型问题的答案,但没有一个起作用。

2 个答案:

答案 0 :(得分:1)

application 文件夹中删除.htaccess,并将其放在application文件夹之外,并仅在其中写入以下代码。如果它不起作用,那么我会给您另一个.htaccess代码。

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

答案 1 :(得分:0)

更改.htaccess文件。从现有文件中删除代码,然后在文件上添加以下代码:-

RewriteEngine on

RewriteCond $ 1!^(index.php | resources | robots.txt)

RewriteBase / ci_yudeesh /

RewriteCond%{REQUEST_FILENAME}!-f

RewriteCond%{REQUEST_FILENAME}!-d

RewriteRule ^(。*)$ index.php?/ $ 1 [L]