Ok, I've noticed something that I didn't before:
Whether or not the path (url) you use has a trailing slash or not affects the outcome. For example:
https://discord-dictionary-bot.uc.r.appspot.com/docs/settings -> 404 (not the catch-all you've set up)
https://discord-dictionary-bot.uc.r.appspot.com/docs/settings/ -> Settings page
https://discord-dictionary-bot.uc.r.appspot.com/docs/commands -> Commands page
https://discord-dictionary-bot.uc.r.appspot.com/docs/commands/ -> Black page (header loads, body doesn't; catch-all not triggered)
https://discord-dictionary-bot.uc.r.appspot.com/docs/languages -> Languages page
https://discord-dictionary-bot.uc.r.appspot.com/docs/languages/ -> Languages page (I expected this to not work but it does)
https://discord-dictionary-bot.uc.r.appspot.com/ -> Redirects to
https://discord-dictionary-bot.uc.r.appspot.com -> 404 (not the catch-all you've set up)
I think it's that VueRouter is having a bit of trouble, so I think you should change the routing in
index.js like so:
const routes = [
{
path: '/home/',
name: 'Home',
component: Home,
pathToRegexpOptions: { strict: true }
},
{
path: '/statistics/',
name: 'Statistics',
component: Statistics,
pathToRegexpOptions: { strict: true }
},
{
path: '/docs/',
name: 'Documentation',
component: Documentation,
redirect: '/docs/commands',
pathToRegexpOptions: { strict: true }
children: [
{
path: '/commands/',
name: 'Commands',
component: Documentation,
pathToRegexpOptions: { strict: true }
},
{
path: '/settings/',
name: 'Settings',
component: Documentation,
It seems to me that Vue may have some internal ruling that it follows and that it's breaking due to the ambiguity, hence my suggestion of being rather specific with the pathing in the routes constant and setting it to strict - that way it at least acts consistently and predictably.