iT邦幫忙

4

[Day 37] 關於web.php的迷失

  • 分享至 

  • xImage
  •  

這幾天在改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的時候要注意,
才不會犯了這種低級錯誤...


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言