質問

ホームページを作成したいのですが、今のところ、GitHubのページ機能が私のニーズに応えると思います。ただし、後でより本格的なCMS/ブログエンジンに切り替えたいと思うかもしれません。

古いURIをすべて保存しながらホームページを他の場所に移動することにした場合に備えて、GitHubページから永続的なリダイレクト(HTTP 301)を提供することは可能ですか?

役に立ちましたか?

解決

私が推測できる最善のことは、Githubがまだこれを追加していないことです。見る 2010年4月からのTekkub応答 Re:機能要求リストに追加します。別のメッセージ 1月の別のユーザーから 回避策としてメタタグを提案します(おそらく良い解決策ではありません)。

他のヒント

ユーザーのセキュリティのために、GitHubページは.htaccessや.confなどの顧客サーバー構成ファイルをサポートしていません。ただし、Jekyll Redirect from Pluginを使用すると、訪問者を更新されたURLに自動的にリダイレクトできます。

詳細については、こちらをご覧ください。 https://help.github.com/articles/redirects-on-github-pages/

マスリダイレクトレイアウト手法

個々のページリダイレクトは、次のようにカバーされています。 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
    
  • すべての非デフォルトレイアウトを、Symlinkに置き換えます redirect レイアウト。これは、この手法の唯一の醜い部分です。私は美しい非プラギンの解決策を見ません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top