I have an overriden Laravel Fortify routes, where I made one group of routes for Admin, and the other for User. I don’t want to define "/admin/" for the url and "admin." for the name of every single routes because that’s just madness. So after searching, I found out that you can use Prefix and Route Name Prefix by using something like this:
Route::group(['prefix' => 'admin', 'as' => 'admin.'], function () {
// some codes
});
While this works fine, the problem is it even create Route Name Prefixes for routes that don’t have name. For example, to login I have 2 routes. One is for displaying the login page (GET), and the other is POST request for the login itself. I gave the GET route a name called "login", but I don’t give the POST route a name.
When I check it with "php artisan route:list", the GET request become "admin/login" with name "admin.login", but the POST request become "admin/login" with name "admin.". This is the wrong part that I don’t want it. I want to exclude the Route Name Prefix from route that don’t have name in the first place. How can I do that? Thank you.
>Solution :
Laravel allow you split those routes that has named to another group.
Example:
Route::prefix('admin')->group(function () {
// Put those routes here that you don't want to add name prefix.
// Route::post('/login')
Route::name('admin.')->group(function () {
// Those routes you want to add name prefix.
// Route::get('/login')
});
});