23.01.19 UPDATE:
Die Dinge haben sich seit meiner letzten Antwort ziemlich verändert (zum Besseren). Diese aktualisierte Antwort zeigt Ihnen, wie Sie Folgendes konfigurieren:
- Wurzelspitze (example.com)
- Subdomain (www.example.com)
- HTTPS (optional, aber dringend empfohlen)
Am Ende werden alle Anfragen an example.com
an https://www.example.com weitergeleitet (oder an http: //, wenn Sie sich dafür entscheiden, HTTPS NICHT zu verwenden). Ich benutze immer www
als meine letzte Landung. Warum ( 1 , 2 ) ist für eine andere Diskussion.
Diese Antwort ist lang, aber nicht kompliziert. Ich war aus Gründen der Klarheit ausführlich, da die GitHub-Dokumente zu diesem Thema nicht klar oder linear sind.
Schritt 1: Aktivieren Sie GitHub-Seiten in den GitHub-Einstellungen
- Klicken Sie in Ihrem Repo auf die Registerkarte
- Scrollen Sie nach unten zum
GitHub Pages
Abschnitt. Sie haben zwei Möglichkeiten:
- Die Auswahl
master branch
wird /README.md
als Ihr Web behandelt index.html
. Die Auswahl master branch /docs folder
wird /docs/README.md
als Ihr Web behandelt index.html
.
- Wähle ein Thema.
- Warten Sie eine Minute, während GitHub Ihre Website veröffentlicht. Überprüfen Sie, ob es funktioniert, indem Sie auf den Link neben klicken
Your site is ready to be published at
Schritt 2: Geben Sie in den GitHub-Einstellungen eine benutzerdefinierte Domäne an
Geben Sie hier Ihren benutzerdefinierten Domainnamen ein und klicken Sie auf save
:
Dies ist ein subtiler, aber wichtiger Schritt.
- Wenn die benutzerdefinierte Domain, die Sie Ihrer GitHub Pages-Site hinzugefügt haben, lautet
example.com
, www.example.com
wird zu weitergeleitetexample.com
- Wenn die benutzerdefinierte Domain, die Sie Ihrer GitHub Pages-Site hinzugefügt haben, lautet
www.example.com
, example.com
wird zu weitergeleitet www.example.com
.
Wie bereits erwähnt, empfehle ich, immer bei zu landen, www
damit ich www.example.com
wie oben abgebildet eintreten kann.
Schritt 3: Erstellen Sie DNS-Einträge
Erstellen Sie in der Webkonsole Ihres DNS-Anbieters vier A
Einträge und einen CNAME
.
A
Datensätze für @
(aka root apex):
Bei einigen DNS-Anbietern müssen Sie angeben @
, bei anderen (wie AWS Route 53) lassen Sie die Subdomain leer, um anzuzeigen @
. In beiden Fällen sind dies die A
zu erstellenden Datensätze:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
- Erstellen Sie einen
CNAME
Datensatz, auf den www.example.com verweist YOUR-GITHUB-USERNAME.github.io
.
Dies ist der verwirrendste Teil.
Beachten Sie YOUR-GITHUB-USERNAME
NICHT den GitHub-Repo-Namen! Der Wert von YOUR-GITHUB-USERNAME
wird durch diese Tabelle bestimmt .
Für eine Benutzerseiten- Site (höchstwahrscheinlich das, was Sie sind) lautet der CNAME
Eintrag wie folgt username.github.io
:
Für eine Site auf Organisationsseiten lautet derCNAME
Eintrag wie folgt orgname.github.io
:
Schritt 5: Bestätigen Sie die DNS-Einträge
Bestätigen Sie Ihre A
Aufzeichnungen durch Ausführen dig +noall +answer example.com
. Es sollte die vier 185.x.x.x
eingegebenen IP-Adressen zurückgeben.
Bestätigt Ihren CNAME
Datensatz durch Ausführen dig www.example.com +nostats +nocomments +nocmd
. Es sollte a zurückgebenCNAME YOUR-GITHUB-USERNAME.github.io
Es kann ungefähr eine Stunde dauern, bis diese DNS-Einträge aufgelöst / weitergegeben werden. Sobald dies der Fall ist, öffnen Sie Ihren Browser für http://example.com
und er sollte zu weiterleitenhttp://www.example.com
Schritt 6: SSL (HTTPS) -Konfiguration. Optional, aber sehr zu empfehlen
Nachdem die benutzerdefinierte Domain funktioniert hat, kehren Sie zu den Repo-Einstellungen zurück. Wenn Sie die Einstellungsseite bereits geöffnet haben, aktualisieren Sie die Seite hart.
Wenn sich unter dem Enforce HTTPS
Kontrollkästchen eine Meldung befindet , die besagt, dass sie noch verarbeitet wird, müssen Sie warten. Möglicherweise müssen Sie auch die save
Schaltfläche im Custom domain
Abschnitt drücken , um die Enforce HTTPS
Verarbeitung zu starten .
Sobald die Verarbeitung abgeschlossen ist, sollte es folgendermaßen aussehen:
Klicken Sie einfach auf das Enforce HTTPS
Kontrollkästchen und zeigen Sie mit Ihrem Browser auf https://example.com
. Es sollte umleiten und öffnenhttps://www.example.com
DAS IST ES!
GitHub hält Ihr HTTPS-Zertifikat automatisch auf dem neuesten Stand UND sollte den Apex behandeln, www
um über HTTPS umzuleiten.
Hoffe das hilft!!
...
Alte (vor dem 23.01.19) Antwort
Also habe ich es herausgefunden. James McLaughlin gab mir den Anstoß, den ich brauchte.
So richten Sie eine benutzerdefinierte Domain für ein Gh-Pages-Projekt-Seiten-Repo ein, das www.IhreDomain.com und IhreDomain.com verwaltet (vorausgesetzt, Sie haben bereits einen Gh-Seiten-Zweig in Ihrem Repo):
- Von Ihrem Projekt-Repo, Gh-Pages-Zweig. Erstellen Sie eine CNAME-Datei mit dem Inhalt
yourdomain.com
. Commit dann drücken.
- Richten Sie in Ihrem DNS-Manager zwei
cname
Einträge ein. Eine für die Wurzelspitze (@) und eine für www. Beide zeigen auf YOURusername.github.io
. Wenn Ihr DNS-Anbieter keine ALIAS
Einträge auf der Stammspitze (@) unterstützt, erstellen Sie einfach A
Einträge, die auf 192.30.252.153
und verweisen192.30.252.154
Warten Sie, bis Ihre Nameserver aktualisiert sind:
dig yourdomain.com +nostats +nocomments +nocmd