I am having a bit of trouble with the routing.
I'm working on a CMS, and I need two primary routes. /admin
and /(:any)
. The admin
controller is used for the route /admin
, and the view
controller should be used for anything else than /admin
. From the view
controller, I will then parse the url and show the correct content.
This is what I have:
Route::get(array('admin', 'admin/dashboard'), array('as' => 'admin', 'uses' =>'admin.dashboard@index')); Route::any('(:any)', 'view@index');
The first route works, but the second one doesn't. I played around with it a little bit, and it seems if I use (:any)
without the question mark, it only works if I put something after /
. If i do put the question mark there, it doesn't work at all.
I want all of the following routes to go to view@index:
/ /something /something/something /something/something/something /something/something/something/something ...etc...
Is this possible without hardcoding a bunch of (:any?)/(:any?)/(:any?)/(:any?)
(which I don't even know works)?
What's the best way to go about this?
This solution works fine on Laravel 5:
Route::get('/admin', function () { // url /admin }); Route::get('/{any}', function ($any) { // any other url, subfolders also })->where('any', '.*');
This is for Lumen instead:
$app->get('/admin', function () use ($app) { // }); $app->get('/{any:.*}', function ($any) use ($app) { // });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With