Сведения о перенаправлении
Если изменения внесены в статью, которая влияет на способность людей находить его, мы создадим перенаправление из любых устаревших версий в текущее содержимое. Это может потребоваться сделать, если название статьи изменено, добавляется новая версия или расположение файла изменяется.
Перенаправления можно настроить локально или внешне.
Настройка локальных перенаправлений
В GitHub Docsможно перенаправить из одного файла в другой или из одной версии в другую.
Перенаправление между файлами
Если вы измените имя статьи и хотите, чтобы его старый URL-адрес перенаправлялся на новый URL-адрес для всех версий, используйте redirect_from
frontmatter с путем к старому имени статьи. Если вы измените имя статьи и хотите, чтобы разные версии перенаправлялись на разные URL-адреса, выполните действия, описанные в разделе "Перенаправления в разных версиях ".
В следующем примере статья "Все о фиксациях" была переименована в "Создание первой фиксации". Frontmatter redirect_from
перенаправляет всех, кто переходит по старому URL-адресу статьи на новый URL-адрес статьи.
title: Creating your first commit
redirect_from:
- /content/get-started/all-about-commits
Дополнительные сведения см redirect_from
. в файле README GitHub Docs.
Автоматические перенаправления для URL-адресов, которые не включают версию
Если URL-адрес страницы введен без версии (https://docs.github.com/ARTICLE
вместо нее https://docs.github.com/VERSION/ARTICLE
), сайт автоматически перенаправит его на первую доступную версию страницы.
Порядок приоритета указан в lib/all-versions.js
. Текущий порядок приоритета:
- GitHub Free, GitHub Proили GitHub Team (
fpt
) - GitHub Enterprise Cloud (
ghec
) - GitHub Enterprise Server (
ghes
)
Если заголовок ARTICLE
страницы доступен только в GitHub Enterprise Cloud и GitHub Enterprise Server, ссылка https://docs.github.com/ARTICLE
будет автоматически перенаправлена https://docs.github.com/enterprise-cloud@latest/ARTICLE
, так как GitHub Enterprise Cloud имеет приоритет над GitHub Enterprise Server.
Если ARTICLE
доступно в Free, Pro или Team, перенаправление не будет происходить, так как fpt
страницы не имеют сегмента версии, поэтому fpt
содержимое https://docs.github.com/ARTICLE
будет отображаться.
Перенаправление между версиями
Если вы хотите, чтобы URL-адрес для одной версии статьи перенаправлялся на URL-адрес другой версии или на другой URL-адрес полностью, необходимо обновить файл redirect-exceptions.txt в каталоге src/redirects
.
Например, если удалить версию статьи "Бесплатный", "Pro" или "Командаfpt
", URL-адрес будет автоматически перенаправляться на следующую доступную версию страницы. Если вы хотите, чтобы он перенаправлялся на версию, которая ниже в порядке приоритета, или на другую страницу полностью, необходимо указать исключение.
Каждая запись в redirect-exceptions
файле должна начинаться с пути перенаправления__, включая версию, за которой следует неупорядоченный список путей, из_ которых вы хотите перенаправить_. В следующем примере пути в неупорядоченном списке перенаправляются в версию Экспорт сведений об участниках организации GitHub Enterprise Cloud.
/enterprise-cloud@latest/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization
- /enterprise-server@3.3/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization
- /enterprise-server@3.4/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization
- /enterprise-server@3.5/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization
Настройка внешних перенаправлений
Редко содержимое перемещается за пределы сайта GitHub Docs. Для этих типов перенаправлений обновите external-sites.json
файл в каталогеsrc/redirects
.
Каждая запись в external-sites.json
файле представляет собой пару значений ключа, где ключ — путь к расположению содержимого, а значение — путь к месту перенаправления.
"/github-status": "https://www.githubstatus.com/",
"/articles/github-security": "https://github.com/security",