Permanent redirect from Github gh-pages

后端 未结 3 473
再見小時候
再見小時候 2021-02-07 08:13

I want to create a homepage and, for now, I think Github\'s pages features will serve my needs. However, I might want to switch to a more full-blown CMS/blog engine later on.

相关标签:
3条回答
  • 2021-02-07 08:25

    Best I can deduce is that Github has not yet added this. See Tekkub response from April 2010 re: adding it to the feature request list. Another message from another user in January suggests a META tag as a workaround (probably not a good solution).

    0 讨论(0)
  • 2021-02-07 08:33

    For the security of their users, GitHub Pages does not support customer server configuration files such as .htaccess or .conf. However, using the Jekyll Redirect From plugin, you can automatically redirect visitors to the updated URL.

    More info can be found here: https://help.github.com/articles/redirects-on-github-pages/

    0 讨论(0)
  • 2021-02-07 08:40

    Mass redirect layout technique

    Individual page redirects are covered at: https://stackoverflow.com/a/36846720/895245 Actual 301s seem impossible.

    If you want to mass redirect:

    http://you.github.io/some/path
    

    to:

    http://new_domain.com/some/path
    

    do as follows.

    Before you move away

    • _layouts/default.html: the default layout

    • _config uses the default layout:

      defaults:
        -
          scope:
            path: ''
          values:
            layout: 'default'
      

    After you move away

    • create _layouts/redirect.html with an HTML redirect derived from Redirect from an HTML page along:

      {% 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 contains:

      defaults:
        -
          scope:
            path: ''
          values:
            layout: 'redirect'
      new_domain: 'http://new-domain.com/some/path
      
    • replace every non-default layout with a symlink to the redirect layout. This is the only ugly part of this technique. I don't see a beautiful non-plugin solution.

    0 讨论(0)
提交回复
热议问题