GitLab Pages domain names, URLs, and baseurls

原文:https://docs.gitlab.com/ee/user/project/pages/getting_started_part_one.html

GitLab Pages domain names, URLs, and baseurls

在本文档中,了解如何根据所需网站的 URL 为 GitLab Pages 命名项目.

GitLab Pages default domain names

注意:如果您使用自己的 GitLab 实例通过 GitLab Pages 部署站点,请与 sysadmin 一起检查什么是 Pages 通配符域. 本指南适用于任何 GitLab 实例,您只需要用自己的实例替换 GitLab.com( *.gitlab.io )上的 Pages 通配符域.

如果您在 GitLab 上设置了 GitLab Pages 项目,则可以在namespace.example.io的子域下自动访问它. namespace由您在 GitLab.com 上的用户名或在其下创建此项目的组名定义. 对于 GitLab 自我管理的实例,将example.io替换为实例的 Pages 域. 对于 GitLab.com,页面域为*.gitlab.io .

GitLab 页面的类型 The name of the project created in GitLab 网址
用户页面 username.example.io http(s)://username.example.io
组页面 groupname.example.io http(s)://groupname.example.io
用户拥有的项目页面 projectname http(s)://username.example.io/projectname
小组拥有的项目页面 projectname http(s)://groupname.example.io/projectname
子组拥有的项目页面 subgroup/projectname http(s)://groupname.example.io/subgroup/projectname

警告:关于在通用域名和 HTTPS 下提供的名称空间存在一些已知限制 . 确保阅读该部分.

要清楚地了解 Pages 域,请阅读以下示例.

Project website examples

  • 您在用户名john下创建了一个名为blog的项目,因此您的项目 URL 为https://gitlab.com/john/blog/ . 为该项目启用 GitLab Pages 并构建您的网站后,即可在https://john.gitlab.io/blog/下找到该网站.
  • 您为所有网站创建了一个组,称为websites ,该组中的一个项目称为blog . 您的项目 URL 为https://gitlab.com/websites/blog/ . 为该项目启用 GitLab 页面后,该站点将位于https://websites.gitlab.io/blog/下.
  • 您为工程部门创建了一个名为engineering的组,为所有文档网站创建了一个名为docs的子组,该子组中的一个项目称为workflows . 您的项目网址为https://gitlab.com/engineering/docs/workflows/ . 为该项目启用 GitLab 页面后,该站点将位于https://engineering.gitlab.io/docs/workflows下.

User and Group website examples

  • 在您的用户名john ,您创建了一个名为john.gitlab.io的项目. 您的项目 URL 将为https://gitlab.com/john/john.gitlab.io . 为项目启用 GitLab Pages 后,您的网站将发布在https://john.gitlab.io下.
  • 在小组websites ,您创建了一个名为websites.gitlab.io的项目. 您项目的 URL 将为https://gitlab.com/websites/websites.gitlab.io . 为项目启用 GitLab Pages 后,您的网站将发布在https://websites.gitlab.io下.

一般示例:

  • 在 GitLab.com 上,项目站点将始终在https://namespace.gitlab.io/project-name下可用
  • 在 GitLab.com 上,将在https://namespace.gitlab.io/下提供用户或组网站.
  • 在您的 GitLab 实例上,将上述gitlab.io替换为 Pages 服务器域. 向您的系统管理员询问此信息.

URLs and baseurls

每个静态网站发生器(SSG)的默认配置期望找到您的网站下一个(子)域( example.com ),而不是在该领域(的子目录example.com/subdir ). 因此,每当发布项目网站( namespace.gitlab.io/project-name )时,都必须在 SSG 文档中查找此配置(基本 URL)并进行设置以反映此模式.

例如,对于 Jekyll 站点, baseurl是在 Jekyll 配置文件_config.yml定义的. 如果您的网站 URL 是https://john.gitlab.io/blog/ ,则需要将此行添加到_config.yml

  1. baseurl: "/blog"

相反,如果您在派生我们的默认示例之一后部署网站,则已经以这种方式配置了 baseurl,因为所有示例都包含项目网站. 如果您决定将自己的网站设为用户或网上论坛,则必须从项目中删除此配置. 对于我们刚刚提到的 Jekyll 示例,您必须将 Jekyll 的_config.yml更改为:

  1. baseurl: ""

Custom domains

GitLab 页面支持通过 HTTP 或 HTTPS 提供服务的自定义域和子域. 有关更多信息,请参见GitLab Pages 自定义域和 SSL / TLS 证书 .