2014-03-19 53 views
0

我有以下代碼:控制器在子文件夾的命名空間laravel-4.1

Route::group(array('namespace' => 'admin'), function() { 

    Route::group(array('prefix' => 'admin'), function() { 

      Route::get('group', array('as' => 'adminGroup', 'uses' => '[email protected]')); 

      Route::get('group/index', array('as' => 'adminGroupIndex', 
        'uses' => '[email protected]')); 
    }); 
}); 

和控制器

namespace admin; 

class GroupController extends \BaseController { 

    protected $layout = 'dashboard'; 

    public function index() 
    { 
      $this->layout->content = \View::make('admin/group/index'); 
    } 

} 

如果我指向的URL:

http://localhost/laravel/public/admin/group/index 

作品完美,但是當我指向:

http://localhost/laravel/public/admin/group 

不起作用。它只是重定向到:

http://localhost/laravel/public/user/login 

但是,當我不使用的子文件夾一切完美!

編輯:解決

,我已經開始安裝laravel管理員,然後停了下來,因爲沒有安裝身份驗證系統。所以我安裝了Sentry2並配置了管理組。在分析了更多設置Laravel Administrator之後,我意識到它使用的是URI'admin',並且如果我沒有通過身份驗證,它也會重定向到'user/login'。

現在一切正常完美!

回答

1

您可能已經使用「auth」過濾了另一個路由,該路由正在捕獲該網址並將其發送到login

我剛剛在這裏複製你的代碼,它對我來說工作正常。爲了簡便起見,我剛剛更換我的routes.php文件與此代碼:

<?php 

namespace admin; 

class GroupController extends \Controller { 

    protected $layout = 'dashboard'; 

    public function index() 
    { 
      return 'index!'; 
    } 

} 

\Route::group(array('namespace' => 'admin'), function() { 

    \Route::group(array('prefix' => 'admin'), function() { 

      \Route::get('group', array('as' => 'adminGroup', 'uses' => '[email protected]')); 

      \Route::get('group/index', array('as' => 'adminGroupIndex', 
        'uses' => '[email protected]')); 
    }); 
}); 

而且兩者

http://development.consultoriodigital.net/admin/group 

http://development.consultoriodigital.net/admin/group/index 

工作正常顯示與

index! 
+0

感謝安東尼奧的網頁,我編輯我的職務與解決方案。 – JulianoMartins