来源:http://yanping.me/cn/blog/2011/12/04/github-pages-domain/

前段时间看到COS上的各位都有博客,也想开个博,给COS的各位管理员发邮件,向他们请教如何开个像怡轩和太云那样的博客,思喆兄说要向益辉申请空间和cos的二级域名。无奈老大太忙,迟迟没有给我分配空间和域名,只是某次提到有个叫github的东西,可以在上面建网页,还可以写博客,写博客还可以不用网络哦亲,只要在本地写好,哪天有网络了就一个push过去哦亲,so fashion!1于是我又给他写了很多邮件,向他请教如何使用该系统,结果,他还是不回复。得,自己研究吧。

关于如何在github上创建页面本文就不讲了,文章末尾会列出参考文献,本文着重介绍github页面的域名绑定问题。 github pages的官方主页这样说:

  • 假设你github的用户名为username,那么创建一个名为username.github.com的代码库(repository),在这个库中上传html、CSS等静态页面文件,可以用地址 http://username.github.com来访问页面了,这个页面就是你账户的主页面(User pages)。
  • 如果你又创建了个叫repo的代码库,在它下面的gh-pages分支里上传了html、CSS等静态页面文件,那么用http://username.github.com/repo这个地址就能访问页面了。
  • 要想生成复杂点的页面,可以用jekyll,语法高亮用pygments 。
  • 要想域名绑定,在代码库的根目录下放一个CNAME文件就行了,文件里写上想要绑定的域名,然后在域名DNS管理的后台网站建立指向就行。如果想把页面绑定到二级域名,需要创建一个CNAME指向。如果要把页面绑定到顶级域名,需要创建一个A指向。不能用CNAME指向顶级域名,否则会造成冲突。

现在问题就来自上面的最后一条,当我建立了个用户页面 http://username.github.com并把它的域名绑定为顶级域名example.com之后,我账户下所有代码库页面都变成了example.com下面的二级目录。我想这可能是因为代码库页面原来的网址为http://username.github.com/repo,DNS把http://username.github.com解析成了http://example.com。请看 https://github.com/lmorchard,他在github上有两个博客, http://decafbad.com/skein 和 http://decafbad.com/blog/

然而当我把用户页面的域名绑定为二级域名http://sub.example.com之后,所有代码库的页面都404了。所以我还是建议把顶级域名绑定到用户页面,这样代码库页面也能够正常访问。 今天又试了一下,我把用户页面的域名绑定为二级域名,项目页面还是可以显示的,依然是二级目录的形式。明天我再试试换过来会怎么样。

如果我不给用户页面绑定域名,或者干脆不创建用户页面,是不是可以给代码库页面绑定域名呢?答案是否定的,因为A指向需要提供个IP地址,CNAM需要指向个域名,而不能是http://username.github.com/repo的形式。

如果想充分利用你的域名和子域名,我暂时能想到的就是多开几个github账户吧,关于一台电脑上多个github账户的操作,网上有现成的教程,我会在以后整理出来。

我也注意到github也有例外,请看http://gitready.com/这个网站,它在github上的代码地址是http://github.com/gitready/gitready/ , 可以看到它还有别的语言版本,域名分别是http://de.gitready.com/http://fr.gitready.com 。。。 这是怎么做到的呢? 我注意到,它这个目录下没有master分支,是跟这个有关吗? 目前还没有得到作者的回复,也从知晓。感兴趣的同学们来研究一下吧。

快速应用

jekyll对初学者太难掌握,有人推荐使用octopresstoto或者pop等基于Jekyll的静态博客站点生成系统2,它很大程度上简化了用Jekyll搭建博客的过程。可惜这些系统在windows下都不能顺畅使用,我也没试成功。使用Linux的同学可以试一试。在windows下使用Octopress的教程请看我的博客文章

参考文章:

Github Pages 基于Jekyll搭建自己的博客 像黑客一样写博客 使用github作为博客引擎 Alex Rothenberg - Moved Blog to Jekyll and GitHub Pages github教程《GoGitHub》 轻量级博客工具: Jekyll vs ToTo 使用 Octopress + GitHub 免費架設部落格,以 Markdown 語法快速發表文章 Hello octopress Bye-bye WordPress. Hello Octopress!

浅谈github页面域名绑定的更多相关文章

  1. [原创]浅谈H5页面性能优化方法

    [原创]浅谈H5页面性能优化方法 前阶段公司H5页面性能测试,其中测试时也发现了一些性能瓶颈问题,接下来我们在来谈谈H5页面性能优化,仅仅是一些常用H5页面性能优化措施,其实和Web页面性能优化思路大 ...

  2. [原创]浅谈H5页面性能测试

    [原创]浅谈H5页面性能测试 H5页面我想各位都不陌生,随着移动互联网兴起,不管是App,还是H5都火起来了,最突出的2个表现是ios/android/前端等工程师薪水大涨,尤其是资深前端工程师40W ...

  3. [原创]浅谈H5页面测试介绍

    [原创]浅谈H5页面测试介绍 目前移动互联网非常火热,除了各种App,H5也是非常热,由于H5跨平台,且版本更新容易,做为引流或获客是非常好的一种简单低成本平台:今天来谈谈H5页面测试都要测试什么? ...

  4. 浅谈GitHub

    Git 是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub. Gith是一个基于 git 的社会化代码分享社区,所谓 social coding.你 ...

  5. 浅谈WEB页面提速(前端向)

    记得面试现在这份工作的时候,一位领导语重心长地谈道——当今的世界是互联网的世界,IT企业之间的竞争是很激烈的,如果一个网页的加载和显示速度,相比别人的站点页面有那么0.1秒的提升,那也是很大的一个成就 ...

  6. 浅谈Vue之双向绑定

    VUE实现双向数据绑定的原理就是利用了 Object.defineProperty() 这个方法重新定义了对象获取属性值(get)和设置属性值(set)的操作来实现的.那么Object.defineP ...

  7. 浅谈jquery之on()绑定事件和off()解除绑定事件

    off()函数用于移除元素上绑定的一个或多个事件的事件处理函数. off()函数主要用于解除由on()函数绑定的事件处理函数. 该函数属于jQuery对象(实例). 语法 jQuery 1.7 新增该 ...

  8. JS基础——浅谈前端页面渲染和性能优化

    加载html中的静态资源 其中,加载静态资源的过程,一般为浏览器根据DNS服务器得到域名的IP地址,然后向这个IP的机器发送http请求,服务器收到.处理并返回http请求,浏览器得到返回http请求 ...

  9. 浅谈jQuery页面的滚动位置scrollTop、scrollLeft

    Web页面常常比显示该页面的浏览器窗口还要大,因为Web文档具有很多内容,往往会导致页面比浏览器还要高,有时候甚至还要宽,这迫使访问者通过滚动来查看整个页面(如图10-8所示).当访问者滚动页面的时候 ...

随机推荐

  1. JS点击复制

    <!DOCTYPE html><html><head> <script type="text/javascript"> functi ...

  2. 在完成一个异步任务后取消剩余任务(C#)

    完整实例 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System. ...

  3. bzoj 2434: [Noi2011]阿狸的打字机

    #include<cstdio> #include<iostream> #include<cstring> #define M 100008 using names ...

  4. STM32-AFIO

    只有使用了AFIO的事件控制寄存器.AFIO的重映射功能以及外部中断(EXTI)控制寄存器才需要开启AFIO的时钟,STM32参考手册从来没说过使用IO的复用功能就一定要开启AFIO时钟,这是个误区.

  5. hibernate框架

    在之前的DAO开发中,对关系型数据库进行增删改查都是直接通过sql语句,需要人工的进行对象和表之间的转换.而Hibernate提供了对象和表之间进行映射的框架,使得这种转换更加方便. 1.ORM概念 ...

  6. Stern-Brocot树 及 法里级数分析

    Stern-Brocot树产生了所有分子分母互素的分数 从初始0/1 1/0 -> m/n m'/n'出发,不断往中间添加 (m+m')/(n+n')容易推得 n * m' - m * n' = ...

  7. Android 动画特效

    一.渐变动画 AlphaAnimation aa = new AlphaAnimation(0.3f, 1.0f); // fromAlpha , toAlpha aa.setDuration(200 ...

  8. 国产ProcessOn和国外gliffy的对比区别【原创】

    之前一直在用国外的作图工具gliffy,不足之处gliffy是英文的,很多国内相关从业者使用起来就有一定门槛,今天我给大家再推荐一款比gliffy更方便的作图工具ProcessOn,除了绘制UML建模 ...

  9. 【转发】centos 7安装完后出现please make your choice from '1' ......

    PS:出现以上信息,是要求你阅读或者接收协议: Initial setup of CentOS Linux 7 (core)解决步骤如下: 1,输入[1],按Enter键阅读许可协议,2,输入[2], ...

  10. Javascript基础--成员函数(六)

    成员函数:也叫方法 1.常用方法 比如:我们希望对象不但有属性,还希望他有行为.(行为在程序中要靠函数来体现)(1) 添加speak函数,输出我是一个好人 (2) 添加jisuan函数,可以计算从1+ ...