Постоянный перенаправление от GitHub GH-Pages
-
24-10-2019 - |
Вопрос
Я хочу создать домашнюю страницу, и пока, я думаю, функции страниц Github будут удовлетворять мои потребности. Тем не менее, я мог бы позже переключиться на более полномасштабный CMS/Blog Engine.
Можно ли отбывать постоянный перенаправление (http 301) со страниц Github, если я решите перенести свою домашнюю страницу в другом месте, сохраняя все старые Uris?
Решение
Лучше всего сделать вывод, это то, что GitHub еще не добавил этого. Видеть Ответ Tekkub с апреля 2010 года Re: Добавление в список запросов функций. Другое сообщение от другого пользователя в январе Предлагает метатет в качестве обходного пути (вероятно, не хорошее решение).
Другие советы
Для обеспечения безопасности своих пользователей, GitHub Pages не поддерживает файлы конфигурации сервера клиентов, такие как .htaccess или .conf. Однако, используя jekyll redirect из плагина, вы можете автоматически перенаправить посетителей на обновленный URL.
Больше информации можно найти здесь: https://help.github.com/articles/redirects-on-github-pages/
Техника макета Mass Redirect
Отдельные перенаправления страницы покрываются: https://stackoverflow.com/a/36846720/895245 Фактические 301 кажутся невозможными.
Если вы хотите перенаправить:
http://you.github.io/some/path
к:
http://new_domain.com/some/path
Делайся следующим образом.
Прежде чем уйти
_layouts/default.html
: макет по умолчанию_config
использует макет по умолчанию:defaults: - scope: path: '' values: layout: 'default'
После того, как вы уезжаете
Создайте
_layouts/redirect.html
с HTML -перенаправлением, полученным из Перенаправить со страницы HTML вместе:{% assign redir_to = site.new_domain | append: page.url %} <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Redirecting...</title> <link rel="canonical" href="{{ redir_to }}"/> <meta http-equiv="refresh" content="0;url={{ redir_to }}" /> </head> <body> <h1>Redirecting...</h1> <a href="{{ redir_to }}">Click here if you are not redirected.<a> <script>location='{{ redir_to }}'</script> </body> </html>
_config
содержит:defaults: - scope: path: '' values: layout: 'redirect' new_domain: 'http://new-domain.com/some/path
заменить каждый непасный компоновку
redirect
макет. Это единственная уродливая часть этой техники. Я не вижу красивого неплугинского решения.