这是我的Github存储库:https://github.com/n1k0/casperjs
有一个gh-pages
分支来保存项目文档,基本上是项目网站:https://github.com/n1k0/casperjs/tree/gh-pages
此分支在http://n1k0.github.com/casperjs/ - hurray。
设置文档站点与此同时,我已经通过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/,但是从http://n1k0.github.com/casperjs/(旧网站网址)到新域名没有301重定向。
知道如何设置这样的重定向,如果可能的话?这是一个错误吗?如果是,我应该在哪里打开一个问题?
答案 0 :(得分:29)
将这个主题从死里复活,提到GH现在支持重定向 - 从重定向到参数https://github.com/jekyll/jekyll-redirect-from#redirect-to
只需将其添加到_config.yml
即可hw1.c:63:25: error: subscripted value is not an array, pointer, or vector
while (*(words[count])[k] != '\0'){
这是索引页面的顶部。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[]){
if (argc != 3){
fprintf(stderr, "Incorrect number of arguments\n");
exit(1);
}
char* infile = argv[1];
FILE* finp = fopen(infile, "r");
if (finp == NULL){
fprintf(stderr, "Unable to open input file\n");
exit(1);
}
char* prefix = argv[2];
int count = 0;
int size = 20;
char* words = calloc(size, sizeof(char));
printf("Allocated initial array of 20 character pointers.\n");
char* str = malloc(30*sizeof(char));
while (fscanf(finp, "%s", str) == 1){
if (count == size){
words = realloc(words, 2 * size);
size *= 2;
printf("Reallocated array of %d character pointers.\n", size);
}
int i = 0;
while (str[i] != '\0'){
i++;
}
char* new_word = malloc((i+1)*sizeof(char));
int j = 0;
while (str[j] != '\0'){
new_word[j] = str[j];
j++;
}
new_word[j] = '\0';
int k = 0;
while (new_word[k] != '\0'){
printf("%c", new_word[k]);
k++;
}
printf("\n");
words[count] = *new_word;
/*k = 0;
while (*(words[count])[k] != '\0'){
printf("%c", *(words[count])[k]);
k++;
}
printf("\n");*/
count++;
}
}
答案 1 :(得分:12)
为了避免重复内容,您可以在第一时间添加这样的元规范:
<link rel="canonical" href="http://casperjs.org">
答案 2 :(得分:7)
您可以在主机检测后使用Javascript重定向,如下所示:
if (window.location.href.indexOf('http://niko.github.com') === 0) {
window.location.href = 'http://casperjs.org{{ page.url }}';
}
但我同意,这不是HTTP重定向。
答案 3 :(得分:3)
为什么你没有使用http://www.w3.org/TR/WCAG20-TECHS/H76.html?
那会给出
<meta http-equiv="refresh" content="0;URL='http://casperjs.org/'" />
答案 4 :(得分: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
插件不会生成301s,只会生成meta
+ JavaScript重定向。
我们可以验证发生了什么:
curl localhost:4000/a
在GitHub页面v64上进行测试,现场演示位于:https://github.com/cirosantilli/cirosantilli.github.io/tree/d783cc70a2e5c4d4dfdb1a36d518d5125071e236/r
答案 5 :(得分:3)
Github网页不支持.htaccess
或nginx/conf
https://help.github.com/articles/redirects-on-github-pages/
最简单的方法是:
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>
答案 6 :(得分:1)
在为我的github页面网站切换域时,我遇到了类似的问题。我在Heroku上设置rerouter来处理301重定向到新域。它可以非常简单地处理域到域的重定向,但您可能需要对其进行修改以处理您网站的旧域+路径位置。
我在这里详细介绍了这些步骤: