Stop serving shadowed namespace project files
GitLab Pages provides two different kinds of project: regular, and "namespace" (group/username) projects. They are documented here: https://docs.gitlab.com/ee/user/project/pages/introduction.html#user-or-group-pages
At present, if access https://group.example.io/something/foo.html
, this may be served by either the regular project something
(in which case it's public/foo.html
in the artifact), or the namespace project group.example.io
(in which case it's public/something/foo.html
in the artifact). In effect, the normal project shadows the namespace project it's rooted in, but still allows fallthrough to the namespace project if it would serve a 404 response.
This MR removes that fallthrough, so in the case above, we'd serve a 404 instead of the namespace project's public/foo.html
file.
The fallthrough behaviour was never documented. It's possible some projects rely on it, however, it is inimical to an important new feature being developed in !94 (merged), so we've decided that the best route forward is to remove it.
Closes #167 (closed)