I want to add prefix to all routes in Lavarel

60 Views Asked by At

I want to add prefix to all router like this:

courses.org/mycaliforniapermit/register (course 1)

courses.org/mycaliforniapermit/admin/login (course 1 backend)

courses.org/mycaliforniapermit/login (course 1 front end)

courses.org/differentcoursename/register (course 2)

courses.org/differentcoursename/admin/login (course 2 backend)

courses.org/differentcoursename/login (course 2 front end)

mycaliforniapermit, differentcoursename is dynamic can load from DB.

Is it possible?


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

    Route::group(['prefix' => 'admin', 'middleware' => ['admin']], function () {

        Route::get('/login', [App\Http\Controllers\AdminAuthController::class, 'showLoginForm'])->name('admin.login');
        Route::get('/logout', [App\Http\Controllers\AdminAuthController::class, 'logout'])->name('admin.logout');
    });
    
});

click: http://courses.org/mycaliforniapermit/admin/logout Resulted: 404 Not Found

Expect:logout successful

1

There are 1 best solutions below

0
Hiromasa On

If you're using Laravel 10, here is how to group them together with prefixes https://laravel.com/docs/10.x/routing#route-group-prefixes

Route::prefix('admin')->group(function () {
    Route::get('/users', function () {
        // Matches The "/admin/users" URL
    });
});