【问题标题】:Laravel 5.5 administrator route issueLaravel 5.5 管理员路由问题
【发布时间】:2018-10-18 12:38:50
【问题描述】:

我有下面提到的路线:

Route::get('/', 'HomeController@index');
Route::get('administrator', array('before' => 'auth', 'uses' => 'Administrator\IndexController@index'));
//Route::get('/administrator', 'Administrator\IndexController@index');
Route::group(['prefix' => 'administrator'], function() {

Route::get('login', 'Administrator\IndexController@index')->name('login');
 Route::post('login', 'Auth\LoginController@doLogin'); 
 Route::get('logout', 'Auth\LoginController@logout');
});

我的意图是当有人尝试访问http://127.0.0.1:8000/administrator/时,这将直接进入管理员的登录页面。

但是,当我尝试访问时,它说 404 not found.

Administrator文件夹下的IndexController如下:

class IndexController extends Controller {

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct() {
        $this->middleware('guest')->except('doLogout');
    }

    public function index() {
        //$session = session()->all();
        if(Auth::check() == 1){
            return Redirect::intended('/administrator/dashboard')->with('successMessage', 'You have successfully logged in.');
        }
        //print_r($session);
        //echo $session['_token'];
        //if($session['_token'] == '')
        $data = array();
        $data['title'] = "Shop To My Door - Administrator Panel";
        return view('Administrator.index.index', $data);
    }

}

【问题讨论】:

  • 您的其他路线有效吗? public 中是否有一个名为 administrator 的文件夹?
  • 你能展示你的索引控制器吗?
  • @AliÖzen - 问题已更新。
  • @ceejayoz - 是的,如果我在路由中写 'admin',它会起作用。
  • @ceejayoz 谢谢。现在我明白了。

标签: laravel laravel-5 laravel-routing


【解决方案1】:

你有同名“管理员”的路由和组

我对路由的建议:

Route::get('/', 'HomeController@index');
Route::group(['prefix' => 'administrator'], function() {
    Route::get('/', 'Administrator\IndexController@index');
    Route::get('login', 'Administrator\IndexController@login');
    Route::post('login', 'Auth\LoginController@doLogin'); 
    Route::get('logout', 'Auth\LoginController@logout');
});

【讨论】:

  • 那不可行吗?
  • 我的意图是当有人尝试访问管理员/它会显示在管理员下登录。
  • 尝试删除管理员路由并在管理员组下移动索引操作。这应该可以解决问题。
  • 您能否通过示例将此作为答案发布?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 2018-08-05
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
相关资源
最近更新 更多