来源: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. 在 CentOS 7 中安装并使用自动化工具 Ansible

    Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于Chef和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端.它使用SSH来和节点进 ...

  2. [转]使用maven镜像

    综述 用maven做项目,最郁闷的莫过于某些依赖库下载不了.被墙了,你懂的.使用maven镜像仓库及其重要,特别是国内的镜像,可以有效缓解被墙疼痛. 常用的镜像 国外镜像 ibiblio.org &l ...

  3. iOS 消息推送原理及实现Demo

    一.消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图1-1: 1.Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Pr ...

  4. "QQ尾巴病毒"核心技术的实现原理分析

    声明:本文旨在探讨技术,请读者不要使用文章中的方法进行任何破坏. 2003这一年里,QQ尾巴病毒可以算是风光了一阵子.它利用IE的邮件头漏洞在QQ上疯狂传播.中毒者在给别人发信息时,病毒会自动在信息文 ...

  5. NSString length的坑。

    说坑,可能过头了,是我理所当然的把OC看作C了, char* cstr = "zh中文12"; NSString* s = [NSString stringWithUTF8Stri ...

  6. 2.精通前端系列技术之JS模块化开发-深入学习seaJs(四)

    深入学习seajs 配置信息 alias : 别名配置 paths : 路径配置 vars : 变量配置 map : 映射配置 preload : 预加载项 debug : 调试模式 base : 基 ...

  7. 【未完成0.0】Noip2012提高组day2 解题报告

    第一次写一套题的解题报告,感觉会比较长.(更新中Loading....):) 题目: 第一题:同余方程 描述 求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解. 格式 输入格式 输入只有一 ...

  8. HDU 2594 扩展kmp模板题

    题目大意: 给定两个字符串,在第一个字符串中找到一个最大前缀作为第二个字符串的后缀 #include <iostream> #include <cstdio> #include ...

  9. VC单文档对话框添加托盘图标

    一 单文档添加托盘 1. 在CMainFrame中定义NOTIFYICONDATA结构m_notify 2.在OnCreate中添加托盘初始化代码 int CMainFrame::OnCreate(L ...

  10. initWithFrame 和 initWithCoder

    当我们所写的程序里没用用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化 - (id)initWithFrame:(CGRect)frame { if (self ...