【问题标题】:Basic routing generates a 404 in Laravel基本路由在 Laravel 中生成 404
【发布时间】:2012-09-14 22:37:12
【问题描述】:

我正在尝试使用 Laravel 框架来构建我的应用程序。但是,我遇到了路由问题。

路线

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

控制器

class Catalogs_Controller extends Base_Controller
{
    public $restful = true;

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

我的 localhost 文件存储在 /Users/ariefbayu/Sites/ 中,我的 Laravel 应用程序存储在 /Users/ariefbayu/Sites/ecatalog/ 中。在这个目录中,我有一个 info.php 文件来确认我的路径设置是否正常工作,并且它们确实有效。但是,当我导航到 http://localhost/ecatalog/public/index.php/ecatalogs 时,它总是返回 404 错误。我知道这是基本的,但我不知道为什么这不起作用。

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

【问题讨论】:

    标签: laravel url-routing mamp laravel-routing


    【解决方案1】:
    Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'ecatalogs@latest'));
    

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

    这是你的控制器Catalogs_Controller 和函数get_latest()。你需要用这个来打电话给get_latest()

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-07
        • 2020-11-10
        • 2014-10-24
        • 2016-01-09
        • 2019-06-24
        • 2021-04-12
        • 1970-01-01
        • 2015-08-13
        相关资源
        最近更新 更多