0
0
Laravelframework~10 mins

Route prefixes in Laravel - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Route prefixes
Define Route Group with Prefix
Add Routes inside Group
Request URL matches prefix?
NoNo Match
Yes
Match Route inside Group
Execute Route Action
This flow shows how Laravel groups routes with a prefix, then matches incoming URLs starting with that prefix to the correct route inside the group.
Execution Sample
Laravel
Route::prefix('admin')->group(function () {
    Route::get('dashboard', function () {
        return 'Admin Dashboard';
    });
});
Defines a route group with prefix 'admin' and a route 'dashboard' inside it that returns a string.
Execution Table
StepActionRequest URLPrefix CheckRoute MatchedResponse
1Request to '/admin/dashboard'/admin/dashboardMatches 'admin' prefixMatches 'dashboard' route'Admin Dashboard' returned
2Request to '/dashboard'/dashboardDoes NOT match 'admin' prefixNo route matched404 Not Found
3Request to '/admin/profile'/admin/profileMatches 'admin' prefixNo matching route inside group404 Not Found
💡 Execution stops when a matching route is found or no routes match the request URL.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3
Request URL''/admin/dashboard/dashboard/admin/profile
Prefix Matchedfalsetruefalsetrue
Route Matchedfalsetruefalsefalse
Response'''Admin Dashboard''404 Not Found''404 Not Found'
Key Moments - 2 Insights
Why does '/dashboard' not match the prefixed route?
Because the prefix 'admin' must be at the start of the URL. '/dashboard' lacks the 'admin' prefix, so it does not match the group routes (see execution_table row 2).
What happens if the URL matches the prefix but no route inside the group matches?
Laravel returns a 404 Not Found because it finds the prefix but no specific route inside the group matches the rest of the URL (see execution_table row 3).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the response when the request URL is '/admin/dashboard'?
A'Admin Dashboard'
B'404 Not Found'
CEmpty response
D'dashboard'
💡 Hint
Check the Response column in execution_table row 1.
At which step does the prefix check fail?
AStep 1
BStep 2
CStep 3
DNone
💡 Hint
Look at the Prefix Check column in execution_table row 2.
If we add a route 'profile' inside the prefix group, what would be the response for '/admin/profile'?
A'404 Not Found'
BEmpty response
C'Admin Profile'
D'Admin Dashboard'
💡 Hint
Consider execution_table row 3 and what changes if a matching route exists.
Concept Snapshot
Laravel Route Prefixes:
- Use Route::prefix('prefix')->group() to add a URL prefix to routes.
- All routes inside the group start with the prefix.
- Incoming URLs must start with the prefix to match these routes.
- If prefix matches but no route inside matches, 404 is returned.
- Helps organize routes under common URL parts.
Full Transcript
This visual execution trace shows how Laravel handles route prefixes. First, a route group is defined with a prefix like 'admin'. Routes inside this group automatically have URLs starting with 'admin/'. When a request comes in, Laravel checks if the URL starts with the prefix. If it does, it tries to match the rest of the URL to a route inside the group. If a match is found, the route's action runs and returns a response. If no match is found inside the group, Laravel returns a 404 error. If the URL does not start with the prefix, Laravel skips this group and tries other routes. This helps organize routes that share a common URL part, like admin pages.