Redirección permanente de Github GH-PAGE
-
24-10-2019 - |
Pregunta
Quiero crear una página de inicio y, por ahora, creo que las características de las páginas de GitHub satisfarán mis necesidades. Sin embargo, es posible que desee cambiar a un motor CMS/Blog más completo más adelante.
¿Es posible servir una redirección permanente (HTTP 301) de las páginas de GitHub en caso de que decida mover mi página de inicio en otro lugar mientras preserva todos los URI viejos?
Solución
Lo mejor que puedo deducir es que GitHub aún no ha agregado esto. Ver Respuesta de Tekkub de abril de 2010 Re: Agregarlo a la lista de solicitudes de funciones. Otro mensaje De otro usuario en enero sugiere una metaetiqueta como solución (probablemente no es una buena solución).
Otros consejos
Para la seguridad de sus usuarios, GitHub Pages no admite archivos de configuración del servidor de clientes como .htaccess o .conf. Sin embargo, utilizando la redirección de Jekyll desde el complemento, puede redirigir automáticamente a los visitantes a la URL actualizada.
Aquí se puede encontrar más información: https://help.github.com/articles/redirects-on-github-pages/
Técnica de diseño de redirección de masa
Las redirecciones de la página individuales están cubiertas en: https://stackoverflow.com/a/36846720/895245 Los 301 reales parecen imposibles.
Si quieres redirigir en masa:
http://you.github.io/some/path
a:
http://new_domain.com/some/path
Haz lo siguiente.
Antes de mudarte
_layouts/default.html
: el diseño predeterminado_config
Utiliza el diseño predeterminado:defaults: - scope: path: '' values: layout: 'default'
Después de que te mudes
crear
_layouts/redirect.html
con una redirección html derivada de Redirigir desde una página HTML a lo largo de:{% 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
contiene:defaults: - scope: path: '' values: layout: 'redirect' new_domain: 'http://new-domain.com/some/path
reemplace cada diseño no defectuoso con un enlace simbólico al
redirect
diseño. Esta es la única parte fea de esta técnica. No veo una hermosa solución no plugin.