繁体   English   中英

在 wamp 服务器 64 上使用 codeigniter 的控制器出现 404 错误

[英]getting 404 error with codeigniter's controllers on wamp server 64

我在 wampserver 上使用 codeigniter,我对模型控制器视图很陌生,我试图很好地理解它是如何工作的。 目前,我正在尝试做一个控制器的基本创建:在 /application/controllers/pages.php 我刚刚做了这个:


<?php

    class Pages extends CI_Controller{
    public function one(){
        echo 'hello world';
    }
    }

?>


所以,是的,这是非常基本的,但是当我尝试使用 chrome 访问该方法时,我遇到了 404 错误: http://localhost/test/pages/one/

我在互联网上看过几个教程,它们和我做的事情一样,但他们在他们的网页中得到了“hello world”。

我发现这可能是因为我没有在我的 URL 中输入 index.php 但我已经修改了我的 config.php 和我的 route.php 不再需要输入它:

配置文件:


$config['base_url'] = 'http://localhost/test';

/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
*/
$config['index_page'] = '';


路线.php:


$route['default_controller'] = 'pages/view';
$route['pages'] = 'pages/$1';
$route['(:any)'] = 'pages/view/$1';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

最让我烦恼的是,当我使用这个 codeigniter 的例子时,它运行良好,我没有收到 404 错误:


class Pages extends CI_Controller{
public function view($page = 'home')
{
        if ( ! file_exists(APPPATH.'views/pages/'.$page.'.php'))
        {
                // Whoops, we don't have a page for that!
                show_404();
        }

        $data['title'] = ucfirst($page); // Capitalize the first letter

        $this->load->view('templates/header', $data);
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer', $data);
}
}

如果我尝试创建另一个函数,它将被完全忽略。 我想我的路由文件有问题或 codeigniter 的安装有问题,但在这种情况下,我更喜欢在重新安装所有内容之前询问......

有人对我的问题有答案吗? 非常感谢。

改变你的路线

$route['default_controller'] = 'pages/view';
$route['pages'] = 'pages/$1';
$route['(:any)'] = 'pages/view/$1';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

$route['default_controller'] = 'pages/one';
$route['pages'] = 'pages/$1';
$route['(:any)'] = 'pages/one/$1';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM