2012-02-14 29 views
34

यहाँ मेरा एक Github भंडार है: https://github.com/n1k0/casperjs301 github पर होस्ट की गई साइट के लिए रीडायरेक्ट?

वहाँ एक gh-pages शाखा परियोजना प्रलेखन, जो मूल रूप से परियोजना वेबसाइट है धारण करने के लिए है: http://n1k0.github.com/casperjs/ पर https://github.com/n1k0/casperjs/tree/gh-pages

यह शाखा सेटअप प्रलेखन साइट - हुर्रे।

इस बीच, मैं casperjs.org डोमेन शाखा है इस वेबसाइट के माध्यम से यह उपलब्ध प्राप्त करने के लिए, तो मैं एक CNAME के रूप में फ़ाइल recommended in the docs डाल: https://github.com/n1k0/casperjs/blob/gh-pages/CNAME - अपने उदाहरण में, आपरेशन माना जाता है www.example से रीडायरेक्ट बनाने .com और charlie.github.com example.com करने के लिए ...

वेबसाइट अब http://casperjs.org/ की ओर इशारा करता है, वहाँ कोई 301 नए डोमेन नाम के लिए http://n1k0.github.com/casperjs/ (पुराने साइट यूआरएल) से अनुप्रेषित है।

कोई विचार है कि इस तरह के रीडायरेक्ट को कैसे सेट किया जाए, यदि यह भी संभव है? क्या यह एक बग है? यदि ऐसा है, तो मुझे एक मुद्दा कहां खोलना चाहिए?

+1

+1 मैं भी डोमेन पेज के माध्यम से मेरा पृष्ठ _only_ सुलभ था। –

+1

[गितब gh-pages से स्थायी रीडायरेक्ट] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/5302663/permanent-redirect-from-github-gh-pages) –

+0

आह, मैं कसम खाता हूं कि मैं पहले से पूरी तरह से खोज कर रहा हूं पूछना, मुझे खेद है: $ संपादित करें: वास्तव में वही सवाल नहीं है, और कुछ अंतर्दृष्टि टिप्पणियां मेथिंक के नीचे पोस्ट की गई हैं :) – NiKo

उत्तर

25

देना होगा इस विषय लाना मरे हुओं में से वापस जीएच अब रीडायरेक्ट-से के अनुप्रेषित-पैरामीटर https://github.com/jekyll/jekyll-redirect-from#redirect-to

का समर्थन करता है कि बस अपने _config.yml में जोड़ने का उल्लेख

gems: 
    - jekyll-redirect-from 

और यह आपके सूचकांक पृष्ठ के शीर्ष पर है।

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

अच्छा समाधान, लेकिन यह इंगित करने योग्य है कि यह मणि एक HTML-स्तर रीडायरेक्ट के बजाय मेटा रीफ्रेश रीडायरेक्ट वाला HTML पृष्ठ बनाता है। –

+0

हाल ही में एक निश्चित डिफ़ॉल्ट डिफ़ॉल्ट लेआउट बग है: https://github.com/jekyll/jekyll-redirect-from/pull/106, इसके लिए अपस्ट्रीम की प्रतीक्षा ;-) –

6

आप मेजबान का पता लगाने के बाद जावास्क्रिप्ट का उपयोग करते हुए, इस तरह अनुप्रेषित कर सकते हैं:

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

लेकिन मैं इस बात से सहमत है, यह एक HTTP पुनर्निर्देशन नहीं है।

+1

समस्या यह है कि यह ' मैं "google डुप्लिकेट सामग्री" समस्या को हल नहीं कर रहा हूं, मैं अभी सामना कर रहा हूं ...:/ – NiKo

+8

इस बीच, आप अपने पृष्ठ पर एक rel = "canonical" जोड़ सकते हैं, इसलिए Google उन पृष्ठों को "डुप्लिकेट" के रूप में घोषित नहीं करेगा: http : //support.google.com/webmasters/bin/answer.py? hl = en & answer = 139394 – cyberdelia

+0

निश्चित रूप से, धन्यवाद! – NiKo

9

डुप्लिकेट सामग्री से बचने के लिए एक पहली बार में आप इस तरह एक मेटा विहित जोड़ सकते हैं:

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

आह हाँ मैं इस एक भूल जाते हैं, संकेत के लिए धन्यवाद किया :) लेकिन वह दुर्भाग्य से मुख्य मुद्दा जो स्थाई रीडायरेक्ट की कमी है समाधान नहीं करता है, :/ – NiKo

1

मैं एक ऐसी ही समस्या हुई जब मेरे GitHub पृष्ठों साइट के लिए डोमेन स्विचिंग। मैंने नए डोमेन पर 301 रीडायरेक्ट को संभालने के लिए हेरोोकू पर rerouter सेट अप किया। यह डोमेन-टू-डोमेन रीडायरेक्ट को बहुत आसानी से संभालता है, लेकिन आपको अपनी साइट के विरासत डोमेन + पथ स्थान को संभालने के लिए इसे संशोधित करना पड़ सकता है।

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

3

तुम क्यों http://www.w3.org/TR/WCAG20-TECHS/H76.html का उपयोग नहीं किया:

मैं यहाँ विस्तार से दिए गए चरणों का वर्णन किया?

कि

<meta http-equiv="refresh" content="0;URL='http://casperjs.org/'" /> 
3

मैनुअल लेआउट विधि

आप https://github.com/jekyll/jekyll-redirect-from का उपयोग कर की तरह महसूस नहीं करते हैं यह अपने आप को लागू करने के लिए आसान है:

a.md:

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

_layouts/redirect.html पर 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> 
अब

:

firefox localhost:4000/a 

example.com पर पहुंच जाएंगे।

इस उदाहरण की तरह, redirect-from प्लगइन 301 उत्पन्न नहीं करता है, केवल meta + जावास्क्रिप्ट रीडायरेक्ट करता है।

हम पुष्टि कर सकते हैं कि क्या के साथ चल रहा है:

curl localhost:4000/a 

GitHub पृष्ठों v64 पर परीक्षण किया गया।

0

Github पृष्ठों की तरह .htaccess या nginx/conf

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

कुछ भी समर्थन नहीं करते तो सबसे आसान तरीका है:

एचटीएमएल पुन: निर्देश:

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>