Redirect 301在github托管的站点重定向?

Redirect 301在github托管的站点重定向?,redirect,github,hosting,jekyll,github-pages,Redirect,Github,Hosting,Jekyll,Github Pages,这是我的Github存储库: 有一个gh pages分支机构保存项目文档,基本上就是项目网站: 该分支将文档站点设置为-hurray 与此同时,我已经搜索了casperjs.org域以通过它获取此网站,因此我将CNAME文件放为:-在他们的示例中,该操作应该创建从www.example.com和charlie.github.com到example.com的重定向 虽然该网站现在指向,但没有301重定向(旧网站url)到新域名 如果可能的话,你知道如何设置这样的重定向吗?是虫子吗?如果是,我应该在

这是我的Github存储库:

有一个
gh pages
分支机构保存项目文档,基本上就是项目网站:

该分支将文档站点设置为-hurray

与此同时,我已经搜索了
casperjs.org
域以通过它获取此网站,因此我将
CNAME
文件放为:-在他们的示例中,该操作应该创建从www.example.com和charlie.github.com到example.com的重定向

虽然该网站现在指向,但没有301重定向(旧网站url)到新域名


如果可能的话,你知道如何设置这样的重定向吗?是虫子吗?如果是,我应该在哪里打开问题?

您可以在主机检测后使用Javascript重定向,如下所示:

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

但我同意,这不是HTTP重定向。

为了避免重复的内容,您可以在第一时间添加如下元规范:

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

在切换github pages站点的域时,我遇到了类似的问题。我在Heroku上设置来处理301重定向到新域。它可以非常简单地处理域到域的重定向,但您可能需要修改它来处理站点的旧域+路径位置

我在这里详细描述了这些步骤:

你为什么不使用

那会给你

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

让这个话题死而复生,提到GH现在支持redirect from的redirect to参数

只需将其添加到_config.yml中即可

gems:
  - jekyll-redirect-from
这将显示在索引页的顶部

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

手动布局方法

如果您不想使用它,您可以自己轻松实现:

a.md

---
layout: 'redirect'
permalink: /a
redir_to: 'http://example.com'
sitemap: false
---
\u layouts/redirect.html
基于:

将重定向到
example.com

与此示例类似,来自的
重定向插件不会生成301s,只生成
meta
+JavaScript重定向

我们可以验证以下情况:

curl localhost:4000/a

在GitHub pages v64上测试,现场演示位于:

GitHub pages不支持类似
.htaccess
nginx/conf

所以最简单的方法是:

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>


+1。我也希望我的页面只能通过域名访问。可能的重复啊,我发誓我在问之前已经彻底搜索过了,对不起:$Edit:事实上不是同一个问题,一些有见地的评论已经发布在下面我想:)可能的重复问题是它不会解决问题“google复制内容”问题我现在遇到了…:/同时,你可以在你的页面上添加一个rel=“canonical”,这样谷歌就不会将这些页面声明为“重复”:事实上,这是github支持团队提供的官方答案:“像这样的重定向目前在页面上是不可能的。我们可能会在将来添加它。您可以使用一点javascript魔术为您执行重定向,这就是我们在help.github.com上所做的“并非没有问题。阅读更好的方法是使用HTML重定向而不是JS,但两者都不是永久性的。啊,是的,我确实忘记了这一点,谢谢你的提示:)但这并不能解决主要问题,即缺乏永久重定向,不幸的是:/很好的解决方案,但值得指出的是,这个gem创建了一个带有元刷新重定向的HTML页面,而不是http级别的重定向。最近修复了一个严重的默认布局错误:,正在等待它上行;-)这在我的GitHub页面URL(位于
.GitHub.io
中)上给了我一个“404文件未找到”错误。除了@MaximillianLaumeister之外,这意味着它是http级别200,而不是301。这意味着你会失去你的网页搜索引擎优化的价值。只是提一下。。如果您使用的是
gitlab
而不是
github
,那么您使用的是
plugins
而不是
gems
@downvorters:请解释,这样我就可以学习和改进信息了。我从不报复。这是互联网上最有用、最直接的例子。非常感谢。HTML重定向不是永久性的,但感谢您的努力,我支持您。HTML重定向是一种很好的方法,谢谢你的回答,但它不是一种永久的方法。我还是投你一票。