2012-02-14 33 views
34

Aquí es un repositorio de Github mío: https://github.com/n1k0/casperjs301 redirigir para el sitio alojado en github?

Hay una rama gh-pages para mantener la documentación del proyecto, que es básicamente el sitio web del proyecto: https://github.com/n1k0/casperjs/tree/gh-pages

configuraciones de esta rama del sitio de documentación en http://n1k0.github.com/casperjs/ - hurra.

Mientras tanto, he rama del dominio casperjs.org para conseguir este sitio web disponible a través de él, por lo que poner un archivo como CNAMErecommended in the docs: https://github.com/n1k0/casperjs/blob/gh-pages/CNAME - en su ejemplo, la operación se supone que crear redirecciones desde www.example .com y charlie.github.com a example.com ...

Aunque el sitio web ahora apunta a http://casperjs.org/, no hay redirección 301 de http://n1k0.github.com/casperjs/ (el antiguo URL del sitio) para el nuevo nombre de dominio.

¿Alguna idea de cómo configurar tal redireccionamiento, si es posible? ¿Es un error? Si es así, ¿dónde debería abrir un problema?

+1

+1. También preferiría que mi página fuera _sólo_ accesible a través del nombre de dominio. –

+1

posible duplicado de [Redirección permanente de Github gh-páginas] (http://stackoverflow.com/questions/5302663/permanent-redirect-from-github-gh-pages) –

+0

ah, te juro que he estado buscando a fondo antes preguntando, lo siento: $ Edit: no es la misma pregunta en realidad, y algunos comentarios perspicaces se han publicado debajo de methinks :) – NiKo

Respuesta

25

Llevar este tema de entre los muertos mencionar que la GH es ahora compatible con redirección de de redirigir al parámetro-https://github.com/jekyll/jekyll-redirect-from#redirect-to

Basta con añadir esto a su _config.yml

gems: 
    - jekyll-redirect-from 

Y esto al principio de su página de índice.

--- 
redirect_to: "http://example.com" 
--- 
+4

Buena solución, pero vale la pena señalar que esta gema crea una página html con una meta redirección de actualización, en lugar de una redirección de nivel http. –

+0

Hay un error de diseño predeterminado serio arreglado recientemente: https://github.com/jekyll/jekyll-redirect-from/pull/106, esperando que suba ;-) –

6

Puede redirigir el uso de Javascript después de la detección de acogida, así:

if (window.location.href.indexOf('http://niko.github.com') === 0) { 
    window.location.href = 'http://casperjs.org{{ page.url }}'; 
} 

pero estoy de acuerdo, no es una redirección HTTP.

+1

El problema es que ganó ' Soluciono el problema de "contenido duplicado de google" que estoy encontrando ahora ...:/ – NiKo

+8

Mientras tanto, puede agregar un rel = "canonical" a su página, por lo que Google no declarará esas páginas como "duplicadas": http : //support.google.com/webmasters/bin/answer.py? hl = en & answer = 139394 – cyberdelia

+0

¡Claro, gracias! – NiKo

9

Para evitar el contenido duplicado, en un primer momento se puede añadir un canónica meta de esta manera:

<link rel="canonical" href="http://casperjs.org"> 
+1

Ah, sí, me olvidé de esto, gracias por la pista :) Pero eso no resuelve el problema principal, que es la falta de redirección permanente, desafortunadamente :/ – NiKo

1

tuve un problema similar cuando se cambia el dominio de mis páginas web de GitHub. Configuré rerouter en Heroku para manejar los 301 redireccionamientos al nuevo dominio. Maneja las redirecciones de dominio a dominio de forma muy simple, pero es posible que deba modificarla para gestionar la ubicación del dominio heredado + ruta del sitio.

que describe los pasos en detalle aquí:

http://joey.aghion.com/simple-301-redirects/

3

diseño manual método

Si usted no se siente como el uso de https://github.com/jekyll/jekyll-redirect-from que es fácil de implementar por sí mismo:

a.md:

--- 
layout: 'redirect' 
permalink: /a 
redir_to: 'http://example.com' 
sitemap: false 
--- 

_layouts/redirect.html basado en Redirect from an HTML page:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Redirecting...</title> 
    {% comment %} 
    Don't use 'redirect_to' to avoid conflict 
    with the page redirection plugin: if that is defined 
    it takes over. 
    {% endcomment %} 
    <link rel="canonical" href="{{ page.redir_to }}"/> 
    <meta http-equiv="refresh" content="0;url={{ page.redir_to }}" /> 
</head> 
<body> 
    <h1>Redirecting...</h1> 
    <a href="{{ page.redir_to }}">Click here if you are not redirected.<a> 
    <script>location='{{ page.redir_to }}'</script> 
</body> 
</html> 

Ahora:

firefox localhost:4000/a 

le redirigirá a example.com.

Como en este ejemplo, el complemento redirect-from no genera 301s, solo meta + JavaScript redirige.

Podemos comprobar lo que está pasando con:

curl localhost:4000/a 

probado en GitHub páginas V64. páginas

0

Github no soportan nada por el estilo .htaccess o nginx/conf

https://help.github.com/articles/redirects-on-github-pages/

manera más fácil es:

redirección HTML:

index.html

<html> 
    <head> 
    <meta http-equiv="refresh" content="0; url=http://www.mywebsite.com/" /> 
    </head> 

    <body> 
    <p><a href="http://www.mywebsite.com/">Redirect</a></p> 
    </body> 
</html> 
Cuestiones relacionadas