diff options
author | Evan Read <eread@gitlab.com> | 2019-02-04 23:01:40 +0000 |
---|---|---|
committer | Evan Read <eread@gitlab.com> | 2019-02-04 23:01:40 +0000 |
commit | 7f880007d41f0281833915b635244c03a4083b40 (patch) | |
tree | 55b59042c71f0e4403536ed38bdfd21d5c14fdc8 /doc/user/project/pages | |
parent | 4b07f22d93de1417ab7918ffd982e35526b50c6e (diff) | |
parent | 618774154be6d6b67499498e1bdb33a8bf94f16d (diff) | |
download | gitlab-ce-7f880007d41f0281833915b635244c03a4083b40.tar.gz |
Merge branch 'update-pages-extensionless-urls' into 'master'
Add support for extensionless pages URLs
See merge request gitlab-org/gitlab-ce!24876
Diffstat (limited to 'doc/user/project/pages')
-rw-r--r-- | doc/user/project/pages/introduction.md | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/doc/user/project/pages/introduction.md b/doc/user/project/pages/introduction.md index 2bb6fcd9d74..cebff38ba88 100644 --- a/doc/user/project/pages/introduction.md +++ b/doc/user/project/pages/introduction.md @@ -356,6 +356,57 @@ By pre-compressing the files and including both versions in the artifact, Pages can serve requests for both compressed and uncompressed content without needing to compress files on-demand. +### Resolving ambiguous URLs + +> [Introduced](https://gitlab.com/gitlab-org/gitlab-pages/issues/95) in GitLab 11.8 + +GitLab Pages makes assumptions about which files to serve when receiving a +request for a URL that does not include an extension. + +Consider a Pages site deployed with the following files: + +``` +public/ +├─┬ index.html +│ ├ data.html +│ └ info.html +│ +├── data/ +│ └── index.html +├── info/ +│ └── details.html +└── other/ + └── index.html +``` + +Pages supports reaching each of these files through several different URLs. In +particular, it will always look for an `index.html` file if the URL only +specifies the directory. If the URL references a file that doesn't exist, but +adding `.html` to the URL leads to a file that *does* exist, it will be served +instead. Here are some examples of what will happen given the above Pages site: + +| URL path | HTTP response | File served | +| -------------------- | ------------- | ----------- | +| `/` | `200 OK` | `public/index.html` | +| `/index.html` | `200 OK` | `public/index.html` | +| `/index` | `200 OK` | `public/index.html` | +| `/data` | `200 OK` | `public/data/index.html` | +| `/data/` | `200 OK` | `public/data/index.html` | +| `/data.html` | `200 OK` | `public/data.html` | +| `/info` | `200 OK` | `public/info.html` | +| `/info/` | `200 OK` | `public/info.html` | +| `/info.html` | `200 OK` | `public/info.html` | +| `/info/details` | `200 OK` | `public/info/details.html` | +| `/info/details.html` | `200 OK` | `public/info/details.html` | +| `/other` | `302 Found` | `public/other/index.html` | +| `/other/` | `200 OK` | `public/other/index.html` | +| `/other/index` | `200 OK` | `public/other/index.html` | +| `/other/index.html` | `200 OK` | `public/other/index.html` | + +NOTE: **Note:** +When `public/data/index.html` exists, it takes priority over the `public/data.html` +file for both the `/data` and `/data/` URL paths. + ### Add a custom domain to your Pages website For a complete guide on Pages domains, read through the article |