【问题标题】:Laravel grouping routes with one nameLaravel 使用一个名称对路由进行分组
【发布时间】:2014-01-31 03:44:16
【问题描述】:

我有以下路线,可以正常工作

Route::get('admin/login', array('as'=>'login', function()
{
    return View::make('back_end.login');
}));

app
    views
        back_end
            layouts
                index.blade.php
                main.blade.php
                profile.blade.php
            login.blade.php

对于管理员,我有任何显示视图,我想将其与管理员前缀分组。在此操作后并使用

http://localhost/laravel/public/admin/login

http://localhost/laravel/public/admin/profile

网址我收到此错误:

 Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException 

这是我的路线:

Route::group(array('prefix' => 'admin'), function()
{
    Route::get('login', function()
    {
        return View::make('back_end.login');
    });

    Route::get('index', array('as'=>'dashboard'), function()
    {
        return View::make('back_end.layouts.index');
    });

    Route::get('profile', function()
    {
        return View::make('back_end.layouts.profile');
    });
});

如何修复这条路线。请帮帮我

【问题讨论】:

  • 运行composer dump-autoload 看看是否能解决问题。

标签: php laravel


【解决方案1】:

我最近遇到了同样的问题。这是我使用的路由的精简版本,包括全部内容。我正在路由到控制器,但是您可以用函数替换该语法,路由将被处理。

Route::group(array('prefix' => 'admin'), function(){
    Route::get('/','AdminController@index');
    Route::resource('users', 'UserController');
    Route::get('settings','AdminController@settings');
    /* Catch all route */
    Route::any('{all}', function($uri){
        return Redirect::to('admin')
            ->with('flash_error', "The administration page 'admin/$uri' could not be found.");
    })->where('all', '.*');
});

与往常一样,请确保在更新路由后运行 composer dump-autoload。这对我来说很成功。您只需要相对“基本”路线上的“/”。

【讨论】:

    【解决方案2】:

    进行更改(在 admin 组内的每个路由中添加前面的斜杠 /),如下所示:

    Route::group(array('prefix' => 'admin'), function()
    {
        Route::get('/login', function()
        {
            return View::make('back_end.login');
        });
    
        Route::get('/index', array('as'=>'dashboard'), function()
        {
            return View::make('back_end.layouts.index');
        });
    
        Route::get('/profile', function()
        {
            return View::make('back_end.layouts.profile');
        });
    });
    

    应该是 /login 而不是 login 并且每个都相同。

    【讨论】:

    • 不工作:` Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException `
    • 您是否在进行更改后运行composer dump-autoload,它应该可以工作,我有类似的路线设置并且工作正常。
    • 是的。运行操作没有任何变化。` Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException `
    猜你喜欢
    • 2016-09-07
    • 2018-11-16
    • 2013-09-07
    • 2019-09-03
    • 2019-10-15
    • 2016-02-10
    • 1970-01-01
    • 2019-03-07
    • 2012-05-23
    相关资源
    最近更新 更多