這幾天在改Laravel,
遇到一個很奇怪的問題,
我只要點擊後台要到/admin/user/,
每次都會一直回到首頁,
原本以為是因為會員認證出錯導致的,
但是到處寫Log都找不到,
後來才發現他直接導到首頁了,
心想是不是因為web.php的關係,
去看了一下web.php,
發現被我改成這樣
<?php
use Illuminate\Support\Facades\Route;
Route::group(['prefix' => '/'], function(){
//首頁
Route::get('/', 'HomeController@indexPage');
//單一使用者資料
Route::group(['prefix' => '{user_id}'], function(){
//自我介紹
Route::get('/user', 'HomeController@userPage');
//心情隨筆
Route::get('/mind', 'HomeController@mindPage');
//留言板
Route::get('/board', 'HomeController@boardPage');
});
});
Route::group(['prefix' => 'user'], function(){
//使用者驗證
Route::group(['prefix' => 'auth'], function(){
//使用者註冊畫面
Route::get('/sign-up', 'UserAuthController@signUpPage');
//處理註冊資料
Route::post('/sign-up', 'UserAuthController@signUpProcess');
//使用者登入畫面
Route::get('/sign-in', 'UserAuthController@signInPage');
//處理登入資料
Route::post('/sign-in', 'UserAuthController@signInProcess');
//處理登出資料
Route::get('/sign-out', 'UserAuthController@signOut');
});
});
Route::group(['middleware'=>['auth.admin']], function(){
Route::group(['prefix' => 'admin'], function(){
//自我介紹相關
Route::group(['prefix' => 'user'], function(){
//自我介紹頁面
Route::get('/', 'AdminController@editUserPage');
//處理自我介紹資料
Route::post('/', 'AdminController@editUserProcess');
});
//心情隨筆相關
Route::group(['prefix' => 'mind'], function(){
//心情隨筆列表頁面
Route::get('/', 'AdminController@mindListPage');
//新增心情隨筆資料
Route::get('/add', 'AdminController@addMindPage');
//處理心情隨筆資料
Route::post('/edit', 'AdminController@editMindProcess');
//單一資料
Route::group(['prefix' => '{mind_id}'], function(){
//編輯心情隨筆資料
Route::get('/edit', 'AdminController@editMindPage');
//刪除心情隨筆資料
Route::get('/delete', 'AdminController@deleteMindProcess');
});
});
});
});
?>
因為他一開始就找到Route::group(['prefix' => '/'], function(){
找了裡面沒有一個符合的,
然後就直接導到首頁了,
但是好像也會繼續往下找,
因為我輸入 /admin/use 還是會回應404的,
但是路由會被導回到首頁,
後來將這一段搬到最下面
<?php
use Illuminate\Support\Facades\Route;
Route::group(['prefix' => 'user'], function(){
//使用者驗證
Route::group(['prefix' => 'auth'], function(){
//使用者註冊畫面
Route::get('/sign-up', 'UserAuthController@signUpPage');
//處理註冊資料
Route::post('/sign-up', 'UserAuthController@signUpProcess');
//使用者登入畫面
Route::get('/sign-in', 'UserAuthController@signInPage');
//處理登入資料
Route::post('/sign-in', 'UserAuthController@signInProcess');
//處理登出資料
Route::get('/sign-out', 'UserAuthController@signOut');
});
});
Route::group(['middleware'=>['auth.admin']], function(){
Route::group(['prefix' => 'admin'], function(){
//自我介紹相關
Route::group(['prefix' => 'user'], function(){
//自我介紹頁面
Route::get('/', 'AdminController@editUserPage');
//處理自我介紹資料
Route::post('/', 'AdminController@editUserProcess');
});
//心情隨筆相關
Route::group(['prefix' => 'mind'], function(){
//心情隨筆列表頁面
Route::get('/', 'AdminController@mindListPage');
//新增心情隨筆資料
Route::get('/add', 'AdminController@addMindPage');
//處理心情隨筆資料
Route::post('/edit', 'AdminController@editMindProcess');
//單一資料
Route::group(['prefix' => '{mind_id}'], function(){
//編輯心情隨筆資料
Route::get('/edit', 'AdminController@editMindPage');
//刪除心情隨筆資料
Route::get('/delete', 'AdminController@deleteMindProcess');
});
});
});
});
Route::group(['prefix' => '/'], function(){
//首頁
Route::get('/', 'HomeController@indexPage');
//單一使用者資料
Route::group(['prefix' => '{user_id}'], function(){
//自我介紹
Route::get('/user', 'HomeController@userPage');
//心情隨筆
Route::get('/mind', 'HomeController@mindPage');
//留言板
Route::get('/board', 'HomeController@boardPage');
});
});
?>
目前看起來就一切正常了,
所以在寫web.php的時候要注意,
才不會犯了這種低級錯誤...