我有关于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.