2012-02-14 10 views
34

Ecco un repository GitHub di mine: https://github.com/n1k0/casperjs301 reindirizzare per sito ospitato su github?

C'è un ramo gh-pages di tenere la documentazione di progetto, che è fondamentalmente il sito web del progetto: https://github.com/n1k0/casperjs/tree/gh-pages

messe a punto questo ramo del sito di documentazione a http://n1k0.github.com/casperjs/ - evviva.

Nel frattempo, ho ramo dominio casperjs.org per arrivare a questo sito web disponibili attraverso di esso, così ho messo un CNAME file come recommended in the docs: https://github.com/n1k0/casperjs/blob/gh-pages/CNAME - nella loro esempio, l'operazione dovrebbe creare redirect da www.example .com e charlie.github.com a example.com ...

Mentre il sito ora punta a http://casperjs.org/, non c'è reindirizzamento 301 dal http://n1k0.github.com/casperjs/ (vecchio sito URL) per il nuovo nome di dominio.

Qualche idea su come impostare un tale reindirizzamento, se è anche possibile? E 'un errore? Se lo è, dove dovrei aprire un problema?

+1

+1. Preferirei anche che la mia pagina fosse _only_ accessibile attraverso il nome di dominio. –

+1

possibile duplicato di [Reindirizzamento permanente da Github gh-pages] (http://stackoverflow.com/questions/5302663/permanente-redirect-da-github-gh-pages) –

+0

ah, giuro che ho cercato a fondo prima chiedendo, mi dispiace: $ Modifica: non è la stessa domanda in realtà, e alcuni commenti penetranti sono stati pubblicati sotto methinks :) – NiKo

risposta

25

Portando questo argomento tornato dalla morte di dire che GH ora supporta redirect-da di reindirizzamento-al parametro https://github.com/jekyll/jekyll-redirect-from#redirect-to

Basta aggiungere questo alla tua _config.yml

gems: 
    - jekyll-redirect-from 

E questo in cima alla pagina dell'indice.

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

Buona soluzione, ma vale la pena sottolineare che questa gemma crea una pagina html con un reindirizzamento meta aggiornamento, piuttosto che un reindirizzamento a livello http. –

+0

C'è un bug di layout predefinito serio risolto di recente: https://github.com/jekyll/jekyll-redirect-from/pull/106, in attesa che arrivi a monte ;-) –

6

È possibile reindirizzare utilizzando Javascript dopo il rilevamento ospite, in questo modo:

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

ma sono d'accordo, non è un reindirizzamento HTTP.

+1

Il problema è che ha vinto ' t risolvere il problema "contenuti duplicati di Google" che sto riscontrando in questo momento ...:/ – NiKo

+8

Nel frattempo, puoi aggiungere un rel = "canonical" alla tua pagina, quindi Google non dichiarerà tali pagine come "duplicate": http : //support.google.com/webmasters/bin/answer.py? hl = it & answer = 139394 – cyberdelia

+0

Certo, grazie! – NiKo

9

Per evitare il contenuti duplicati, in un primo tempo è possibile aggiungere una meta canonica come questo:

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

Ah sì, ho dimenticato questo, grazie per il suggerimento :) Ma questo non risolve il problema principale che è la mancanza di reindirizzamento permanente, purtroppo :/ – NiKo

1

ho avuto un problema simile quando si passa il dominio per il mio sito le pagine github. Ho impostato rerouter su Heroku per gestire i reindirizzamenti 301 al nuovo dominio. Gestisce i reindirizzamenti da dominio a dominio molto semplicemente, ma potrebbe essere necessario modificarlo per gestire il percorso del dominio legacy + percorso del sito.

ho descritto le fasi in dettaglio qui:

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

3

disposizione Manuale metodo

Se non avete voglia di utilizzare https://github.com/jekyll/jekyll-redirect-from è facile da implementare da soli:

a.md:

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

_layouts/redirect.html sulla base di 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> 

Ora:

firefox localhost:4000/a 

favore usare example.com.

Come questo esempio, il plug-in redirect-from non genera 301, solo meta + reindirizzamenti JavaScript.

Siamo in grado di verificare ciò che sta succedendo con:

curl localhost:4000/a 

provata su GitHub pagine V64. pagine

0

Github non supportano nulla di simile .htaccess o nginx/conf

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

così modo più semplice è:

HTML redirect:

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> 
Problemi correlati