23.01.19 ОБНОВЛЕНИЕ:
С момента моего последнего ответа все немного изменилось (в лучшую сторону). Этот обновленный ответ покажет вам, как настроить:
- Корневая вершина (example.com)
- Поддомен (www.example.com)
- HTTPS (необязательно, но настоятельно рекомендуется)
В итоге все запросы example.comбудут перенаправлены на https://www.example.com (или http: //, если вы решите НЕ использовать HTTPS). Я всегда использую в wwwкачестве моей последней посадки. Почему ( 1 , 2 ), для другого обсуждения.
Этот ответ длинный, но не сложный. Я был многословен для ясности, поскольку документы GitHub по этой теме не являются четкими или линейными.
Шаг 1: Включите страницы GitHub в настройках GitHub
- Из вашего репо, нажмите на
вкладку
- Прокрутите вниз до
GitHub Pagesраздела. У вас есть два варианта:
- Выбор
master branchбудет относиться /README.mdк вашей сети index.html. Выбор master branch /docs folderбудет относиться /docs/README.mdк вашей сети index.html.
- Выберите тему
- Подождите минуту, пока GitHub публикует ваш сайт. Убедитесь, что он работает, нажав на ссылку рядом с
Your site is ready to be published at
Шаг 2: Укажите пользовательский домен в настройках GitHub
Введите здесь свое доменное имя и нажмите save:

Это тонкий, но важный шаг.
- Если пользовательский домен, который вы добавили на свой сайт GitHub Pages
example.com, www.example.comбудет перенаправлен наexample.com
- Если пользовательский домен, который вы добавили на сайт GitHub Pages
www.example.com, example.comбудет перенаправлен на www.example.com.
Как упомянуто ранее, я рекомендую всегда приземляться в, wwwтаким образом я вошел www.example.comкак показано выше.
Шаг 3: Создайте записи DNS
В веб-консоли вашего DNS-провайдера создайте четыре Aзаписи и одну CNAME.
AЗаписи для @(aka root apex):
Некоторые провайдеры DNS попросят вас указать @, другие (например, AWS Route 53) оставят субдомен пустым для указания @. В любом случае, они являются Aзаписи для создания:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
- Создайте
CNAMEзапись, чтобы указать www.example.com YOUR-GITHUB-USERNAME.github.io.
Это самая запутанная часть.
Обратите внимание, что YOUR-GITHUB-USERNAME НЕ GitHub репо! Значение YOUR-GITHUB-USERNAMEопределяется этим графиком .
Для сайта с пользовательскими страницами (скорее всего, вы), CNAMEзапись будет username.github.io, например:

Для сайта страниц организации , CNAMEзапись будет orgname.github.io, например:

Шаг 5: Подтвердите записи DNS
Подтвердите свои Aзаписи, запустив dig +noall +answer example.com. Он должен вернуть четыре 185.x.x.xIP-адреса, которые вы ввели.
Подтверждает вашу CNAMEзапись, запустив dig www.example.com +nostats +nocomments +nocmd. Должно вернутьCNAME YOUR-GITHUB-USERNAME.github.io
Разрешение / распространение этих записей DNS может занять около часа. Как только они это сделают, откройте ваш браузер, http://example.comи он должен перенаправить наhttp://www.example.com
Шаг 6: Конфигурация SSL (HTTPS). Необязательно, но настоятельно рекомендуется
После того, как ваш пользовательский домен заработал, вернитесь к настройкам репо. Если страница настроек уже открыта, обновите страницу.
Если под Enforce HTTPSфлажком есть сообщение о том, что оно все еще обрабатывается, вам придется подождать. Вам также может понадобиться нажать saveкнопку в Custom domainразделе, чтобы начать Enforce HTTPSобработку.
После завершения обработки это должно выглядеть так:

Просто установите Enforce HTTPSфлажок и укажите в браузере https://example.com. Он должен перенаправить и открытьhttps://www.example.com
ЭТО ОНО!
GitHub будет автоматически поддерживать ваш сертификат HTTPS в актуальном состоянии И должен обрабатывать апекс для wwwперенаправления по HTTPS.
Надеюсь это поможет!!
...
Старый (до 23.01.19) ответ
Так что я понял это. Джеймс Маклафлин дал мне толчок, который мне был нужен.
Чтобы настроить собственный домен для репозитория Project Pages gh-pages, который обрабатывает www.yourdomain.com и yourdomain.com (предполагается, что у вас уже есть ветка gh-pages в вашем репо):
- Из репо вашего проекта, ветка gh-pages. Создайте файл CNAME с содержимым
yourdomain.com. Зафиксируйте затем нажмите.
- В вашем диспетчере DNS настройте две
cnameзаписи. Один для корневого апекса (@) и один для www. Оба указывают на YOURusername.github.io. Если ваш DNS-провайдер НЕ поддерживает ALIASзаписи в корневой вершине (@), просто создайте Aзаписи, которые указывают на 192.30.252.153и192.30.252.154
Подождите, пока обновятся ваши серверы имен:
dig yourdomain.com +nostats +nocomments +nocmd