Moving on to next route if some url cannot be found
I am working on an application using Laravel 5.4, VueJS, AXIOS, VueRouter. VueRouter is responsible for all of the navigation in the application, save for the route config below:
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Auth::routes();
Route::get('/{catchall?}', ['as' => 'start', 'middleware' => 'auth', function() {
return view('home')->with([...]);
}])->where('catchall', '.*');
This essentially redirects the user to the 'base' blade file, which contains the <router-link></routerlink>.
However, I am now implementing a page in my application that anyone can access (not requiring the auth middleware), and utilizes a different layout entirely (so needs a new blade file).
Preferably, it would be accessed like this:
app.sample.com/{some-string}
Rather than something else like this:
app.sample.com/survey/{some-string}
{some-string} is a randomly generated string that is then thrown into the DB. accessible by one of my models. As I understand it, I could do something like this:
Route::get('/{some-string}', 'SomeController@somemethod')
Placing this above the catchall should work. However, in the case that /{some-string} does not match anything in the DB, I would prefer that it gets handled by the catchall, which will serve the home.blade.php
Is there any clean way to handle this?
Please or to participate in this conversation.