Page 404 CodeIgniter index.php

我有关于Codeigniter的这个问题,不幸的是,在这个网站上有关此问题的其他帖子对我没有帮助,或者我没有很好地应用它.

编辑*添加截图:

我的目录结构:

>调度程序(主文件夹)

>系统

>申请

> config(文件夹)
>控制器(文件夹)

> BS.php

>和其他文件夹和文件
> index.php

正如标题所说,当我打字时

http://mysite.com/folder/index.php

它输出未找到的页面404.但是,当我键入http://mysite.com/scheduler/index.php/BS时,它显示“这是一个BS文件”,因为我使用下面的代码回应它.

BS.php

 function index($flag = NULL)
{

 echo "This is a BS File.";
 }

routes.php文件

$route['default_controller'] = "BS";
$route['scaffolding_trigger'] = "";

的index.php

error_reporting(E_ALL);

$system_folder = "system";

$application_folder = "application";

if (strpos($system_folder, '/') === FALSE)
{
    if (function_exists('realpath') AND @realpath(dirname(__FILE__)) !== FALSE)
    {
        $system_folder = realpath(dirname(__FILE__)).'/'.$system_folder;
    }
}
else
{
    // Swap directory separators to Unix style for consistency
    $system_folder = str_replace("\\", "/", $system_folder); 
}

define('EXT', '.php');
define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));
define('FCPATH', str_replace(SELF, '', __FILE__));
define('BASEPATH', $system_folder.'/');

if (is_dir($application_folder))
{
    define('APPPATH', $application_folder.'/');
}
else
{
    if ($application_folder == '')
    {
        $application_folder = 'application';
    }
    define('APPPATH', BASEPATH.$application_folder.'/');
}

require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;

最后,我的config.php

$config['base_url'] = "http://" . $_SERVER['HTTP_HOST']. "/scheduler/";
$config['secure_base_url'] = "https://" . $_SERVER['HTTP_HOST']. "/scheduler/";

$config['index_page'] = "index.php";

$config['uri_protocol'] = "REQUEST_URI";

这样做几天,仍然没有一个过程.很高兴得到任何帮助.

解决方法:

我终于弄明白了怎么做,
如上面的问题所示,还记得目录结构吗?

在Controller文件夹中,我有这个BS.php文件.然后,如果我没有弄错,那就是文件的区分大小写.这可能是由于域名不支持文件名中的大写字母,我在本网站的其他问题的一些答案中读到了该字母.

所以简而言之,我把BS.file改成了bs.file.它的工作原理.

编辑

此外,在routes.php中,我将BS更改为bs.

上一篇:php – Laravel使用Route :: resource生成路由需要添加前缀/ admin /


下一篇:java – 使用Play映射特定的文件路由!骨架