For each page (assume you have a "pages" table, with a "Page" model), I'd have a slug in the database that would then be the url. You'd only need a single route to handle all pages. Well, that depends on what you're doing, but it would be something like:
// this route should be very last in your routes file
Route::get('/{page}', 'PagesController@show');
use App\Page;
class PagesController extends Controller {
// Tell laravel to retrieve the model by the $slug instead of the default $id
public function getRouteKeyName()
{
return 'slug';
}
// Show the requested page
public show(Page $page)
{
return view('pages', compact('page'));
}
}
Most pages have a title. You could just use str_slug($title) to create a slug from the title. You'd also want to verify that the slug doesn't already exist in the db when creating an article. https://laravel.com/docs/5.5/helpers#method-str-slug
Your database would look something like:
pages
-id
-slug
-title
-body
-etc
Then you'd just
http://yoursite.com/some-page-slug
http:://yoursite.com/some-other-page
This might not be 100% correct code as I just typed it off the top of my head, but should help get you there.