Codeigniter路由在移动到实时服务器后返回“找不到文件”

时间:2017-02-21 08:58:47

标签: php .htaccess codeigniter routing host

在我的根目录中,我有.htaccess:

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

从网址中删除index.php。

在我的routes.php文件中,我有:

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

默认控制器有效,但是向域添加/ absolventi则不行。请求的每个文件都返回找不到的文件。此外,ajax调用返回。

我尝试更改为$route['absolventi'] = 'index.php/absolventi';以查看.htaccess是否覆盖index.php,但仍然是相同的错误。真的不知道还能做什么。任何帮助,建议将不胜感激。如果需要更多信息,请询问。

1 个答案:

答案 0 :(得分:1)

如果这是您的控制器名称absolventi,请按照此

进行操作

文件名应为 Absolventi.php
并在文件内

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Absolventi extends CI_Controller {


    public function  __construct()
    {
        parent::__construct();

    }
  

对项目中的所有文件执行此操作。 我们称之为命名转化

阅读PHP Style Guidee#file-naming