GitLab Pagesでカスタムドメインを設定していると、 gitlab.ioとカスタムドメインでコンテンツのパスが違ったり、 同じページに対して複数のURLでアクセスできてしまいます。
Webサイトには、カスタムドメインからのみアクセスできるようにしたいので、 gitlab.ioにアクセスしたときは、リダイレクトさせます。 しかし、ドメインレベルのリダイレクトは、GitLab Pagesではサポートされていないらしいです。
ここでは、JavaScriptによるリダイレクトを使って、 カスタムドメインにリダイレクトさせる方法を紹介します。
リダイレクト設定
FQDNが .gitlab.io
で終わる場合に https://example.com
にリダイレクトさせます。
-
HTMLの
head
部分に以下のスクリプトを挿入する。 -
example.com
の部分は設定しているカスタムドメインに変更する。
<script>
if (new RegExp('\.gitlab\.io$').test(location.hostname)) {
location.href = "https://example.com";
}
</script>
JavaScriptリダイレクト
先述の設定例のように、JavaScriptによるリダイレクトを行うには、
window.location
プロパティを設定します。
window.location
には、Location
オブジェクトや文字列を代入することができます。
location = "https://example.com";
location.href = "https://example.com";
Google検索では
Google検索では、JavaScriptによるリダイレクトは永続的なリダイレクトとして解釈されます。 ただし、JavaScriptによるリダイレクトは、サーバーによるリダイレクトや meta refresh リダイレクトが行えない場合にのみ使用することが推奨されています。