基本路由生成404

时间:2012-09-22 23:48:25

标签: url-routing mamp laravel

我已经离PHP大约2年了,现在我又被迫再次使用它了。现在,我正在尝试使用laravel作为框架。但是,我陷入了它的路由方法。

我在route.php中设置了这个:

Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'ecatalogs@latest'));

这是我的控制器,名为catalogs.php

<?php

class Catalogs_Controller extends Base_Controller {    

    public $restful = true;

    public function get_latest()
    {
        return "wohoooooo!";
    }    

}

存储在localhost和我的laravel应用程序中的/Users/ariefbayu/Sites/个文件存储在/Users/ariefbayu/Sites/ecatalog/

在这个目录中,我info.php确认我的路径设置是否正常,但确实如此。

但是,当我导航到http://localhost/ecatalog/public/index.php/ecatalogs时,它总是返回404错误。我知道这是基本的,但是,我不知道为什么这不起作用。

仅供参考,我正在使用mamp服务器并将所有源文件设置为777的访问权限,以测试它是否是权限问题。

2 个答案:

答案 0 :(得分:1)

您指定要在控制器ecatalogs内调用“最新”操作,但实际上您的控制器名为catalogs。将您的使用参数更改为catalogs@latest(或重命名文件和类)。

答案 1 :(得分:1)

Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'ecatalogs@latest'));

注意ecatalogs@latest指针。这告诉Laravel在get_latest()上调用Ecatalog_Controller方法。

这是你的控制器Catalogs_Controller和功能get_latest()。您需要使用以下方式调用get_latest()

Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'catalogs@latest'));