GitLab 页面自定义域允许 www

Posted

技术标签:

【中文标题】GitLab 页面自定义域允许 www【英文标题】:GitLab Pages custom domain allow www 【发布时间】:2017-01-13 00:46:09 【问题描述】:

我需要做什么才能让我的 GitLab 页面站点 (Jekyll) 在 www.mydomain.com 下访问,而不仅仅是在 mydomain.com 下访问?我通过 CloudFlare 获得了 SSL。

在我的 DNS 中,我有: mydomain.com A 104.208.235.32

CNAME 指向myname.gitlab.iowww 指向myname.gitlab.io

我是否需要创建www 的子域并将其也指向 GitLab?我希望我的网站在 url 中没有 www,但如果用户输入 www,他们应该仍然能够访问该网站。

【问题讨论】:

【参考方案1】:

创建一个子域 www.example.com 并将其指向 gitlab。然后检测 URL 中的 www 并重定向到非 www。

<script type="text/javascript">
if ( document.domain.substring(0,4) != 'www.' ) 
    window.location = document.URL.replace("//","//www."); 

</script>

来源:https://www.experts-exchange.com/questions/26846703/redirect-non-www-to-www-url-using-Javascript.html

【讨论】:

不幸的是I get this error,当我尝试使用www 创建子域时,有什么想法吗? 无法解决问题,这是 DNS 配置错误。客户端重定向无法解决。 很高兴你知道了!【参考方案2】:

问题中的配置是正确的,我没有将mydomain.comwww.mydomain.com 添加为GitLab 中的域(设置图标> 页面> 新域)。

当两个域都被列出时,GitLab 然后将流量引导到 www 和裸域。

【讨论】:

我会选择 www。或裸域,不要同时使用。当您同时使用两者时,可能会出现重复的内容和拆分页面排名。不过可能不是真的…… 我遇到了这个确切的问题。我也必须在 git lab 页面上设置我的 www 域(不是很明显),然后我必须添加两条 A 记录(一条用于@,一条用于带有 gitlab ip 的 www),然后我必须为www 到 .gitlab.io。现在好了,谢谢! 所以不能只为www 添加一个CNAME 作为mydomain.com 的别名? GitLab 页面文档部分 Redirecting www.domain.com to domain.com with Cloudflare 推荐 301 重定向(CloudFlare 中的页面规则)【参考方案3】:

什么对我有用:

www 子域作为单独的页面添加到您的 GitLab 页面域中,请按照文档中的说明进行操作:

Set up DNS Records for both root and subdomains (www)

【讨论】:

以上是关于GitLab 页面自定义域允许 www的主要内容,如果未能解决你的问题,请参考以下文章

自定义域 gitlab 页面

如何自定义“GITLAB”配置文件?

Gitlab 页面 401

Gitlab:服务器挂钩自定义错误消息未显示在合并请求上

PHP Laravel - 允许用户使用自定义域名

Spring security自定义登录页面不允许我进入[关闭]