The catch-all maps /my-account/<path> to templates/my-account/<path>.html in your site's folder, with no index fallback, so /my-account/courses needs courses.html, not courses/index.html. A dot in the path matches nothing; a name that collides with a built-in screen (orders, addresses, quotes, wishlist) renders the built-in screen; and case matters. A signed-out visitor is redirected to /login, not shown a 404, so a 404 means the file.