2012-02-14 4 views
34

est ici un dépôt Github de la mine: https://github.com/n1k0/casperjs301 rediriger vers un site hébergé chez github?

Il y a une branche gh-pages de tenir la documentation du projet, qui est essentiellement le site du projet: https://github.com/n1k0/casperjs/tree/gh-pages

Cette configurations de branche sur le site de documentation à http://n1k0.github.com/casperjs/ - hourra.

En attendant, j'ai bough le domaine casperjs.org pour obtenir ce site disponible par le biais, donc je mets un fichier CNAME comme recommended in the docs: https://github.com/n1k0/casperjs/blob/gh-pages/CNAME - dans leur exemple, l'opération est censée créer réoriente de www.example .com et charlie.github.com à example.com ...

Alors que le site indique maintenant http://casperjs.org/, il n'y a pas 301 Dévier à partir http://n1k0.github.com/casperjs/ (l'ancienne URL du site) au nouveau nom de domaine.

Une idée comment configurer une telle redirection, si c'est possible? Est-ce un bug? Si c'est le cas, où dois-je ouvrir un problème?

+1

+1. Je préférerais aussi que ma page ne soit accessible que par le biais du nom de domaine. –

+1

duplication possible de [redirection permanente à partir Github gh-pages] (http://stackoverflow.com/questions/5302663/permanent-redirect-from-github-gh-pages) –

+0

ah, je jure que j'ai été complètement à la recherche avant demander, je suis désolé: $ Edit: pas vraiment la même question en fait, et quelques commentaires perspicaces ont été postés ci-dessous methinks :) – NiKo

Répondre

25

Apporter ce sujet des morts à mentionner que GH soutient rédiriger-de-rediriger de paramètre à https://github.com/jekyll/jekyll-redirect-from#redirect-to

simplement ajouter à votre _config.yml

gems: 
    - jekyll-redirect-from 

Et ceci en haut de votre page d'index.

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

Bonne solution, mais il vaut la peine de souligner que cette gemme crée une page html avec une redirection meta refresh, plutôt que d'une redirection au niveau http. –

+0

Il y a un bogue de mise en page par défaut sérieusement corrigé récemment: https://github.com/jekyll/jekyll-redirect-from/pull/106, l'attendant en amont ;-) –

6

Vous pouvez rediriger en utilisant Javascript après la détection hôte, comme ceci:

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

Mais je suis d'accord, ce n'est pas une redirection HTTP.

+1

Le problème est qu'il a gagné ' Pour résoudre le problème "google duplicate contents" que je rencontre en ce moment ...:/ – NiKo

+8

En attendant, vous pouvez ajouter rel = "canonical" à votre page, donc Google ne déclarera pas ces pages comme "dupliquées": http : //support.google.com/webmasters/bin/answer.py? hl = fr & answer = 139394 – cyberdelia

+0

Bien sûr, merci! – NiKo

9

Pour éviter le contenu en double, dans un premier temps, vous pouvez ajouter une méta canonique comme ceci:

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

Ah oui j'ai oublié celui-ci, merci pour l'indice :) Mais cela ne résout pas le problème principal qui est l'absence de redirection permanente, malheureusement :/ – NiKo

1

J'ai eu un problème similaire lors du passage du domaine pour mes pages github site. J'ai mis en place rerouter sur Heroku pour gérer les redirections 301 vers le nouveau domaine. Il gère très simplement les redirections de domaine à domaine, mais vous devrez peut-être le modifier pour gérer l'ancien emplacement du chemin de domaine + de votre site.

Je décrit les étapes en détail ici:

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

3

méthode mise en page Manuel

Si vous ne vous sentez pas comme l'utilisation https://github.com/jekyll/jekyll-redirect-from il est facile de mettre en œuvre vous-même:

a.md:

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

_layouts/redirect.html basé sur 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> 

maintenant:

firefox localhost:4000/a 

vous redirigera vers example.com.

Comme cet exemple, le plugin redirect-from ne génère pas de 301, mais uniquement des redirections JavaScript meta.

Nous pouvons vérifier ce qui se passe avec:

curl localhost:4000/a 

testé sur les pages GitHub v64.

0

pages Github ne supportent pas quelque chose comme .htaccess ou nginx/conf

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

donc plus simple est:

redirect 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> 
Questions connexes