The problem with adding a route for each page is that it will scale poorly if you have a large amount of pages.
First it will have to create route objects for each page and those will be stored in memory on every request.
Then when it tries to match against the routes it checks the url against each one until it finds a match. If there are a huge amount of them this can cause requests to be slow if the matching route is toward the end of the list.
What I would do is add a "catch all" route at the end of your routes file that matches against anything.
In the controller for this route try to pull a page for that url and if none is found return a 404 response.