Постоянный редирект с Github GH-страниц - PullRequest
17 голосов
/ 14 марта 2011

Я хочу создать домашнюю страницу, и на данный момент, я думаю, функции страниц Github будут отвечать моим потребностям.Однако позже я мог бы перейти на более полнофункциональный CMS / блог-движок.

Можно ли обслуживать постоянное перенаправление (HTTP 301) со страниц Github на случай, если я решу переместить свою домашнюю страницу куда-нибудьеще при сохранении всех старых URI?

Ответы [ 3 ]

6 голосов
/ 14 марта 2011

Лучшее, что я могу сделать, это то, что Github еще не добавил это. См. Ответ Tekkub от апреля 2010 г. re: добавление его в список запросов функций. В другом сообщении от другого пользователя в январе предлагается мета-тег в качестве обходного пути (вероятно, не очень хорошее решение).

1 голос
/ 29 апреля 2016

Для безопасности своих пользователей GitHub Pages не поддерживает файлы конфигурации сервера клиента, такие как .htaccess или .conf. Однако, используя плагин Jekyll Redirect From, вы можете автоматически перенаправлять посетителей на обновленный URL.

Более подробную информацию можно найти здесь: https://help.github.com/articles/redirects-on-github-pages/

0 голосов

Техника массового перенаправления

Перенаправления отдельных страниц покрываются по адресу: 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. Это единственная уродливая часть этой техники. Я не вижу красивого решения без плагинов.

...