浅谈github页面域名绑定
来源: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对初学者太难掌握,有人推荐使用octopress、toto或者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页面域名绑定的更多相关文章
- [原创]浅谈H5页面性能优化方法
[原创]浅谈H5页面性能优化方法 前阶段公司H5页面性能测试,其中测试时也发现了一些性能瓶颈问题,接下来我们在来谈谈H5页面性能优化,仅仅是一些常用H5页面性能优化措施,其实和Web页面性能优化思路大 ...
- [原创]浅谈H5页面性能测试
[原创]浅谈H5页面性能测试 H5页面我想各位都不陌生,随着移动互联网兴起,不管是App,还是H5都火起来了,最突出的2个表现是ios/android/前端等工程师薪水大涨,尤其是资深前端工程师40W ...
- [原创]浅谈H5页面测试介绍
[原创]浅谈H5页面测试介绍 目前移动互联网非常火热,除了各种App,H5也是非常热,由于H5跨平台,且版本更新容易,做为引流或获客是非常好的一种简单低成本平台:今天来谈谈H5页面测试都要测试什么? ...
- 浅谈GitHub
Git 是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub. Gith是一个基于 git 的社会化代码分享社区,所谓 social coding.你 ...
- 浅谈WEB页面提速(前端向)
记得面试现在这份工作的时候,一位领导语重心长地谈道——当今的世界是互联网的世界,IT企业之间的竞争是很激烈的,如果一个网页的加载和显示速度,相比别人的站点页面有那么0.1秒的提升,那也是很大的一个成就 ...
- 浅谈Vue之双向绑定
VUE实现双向数据绑定的原理就是利用了 Object.defineProperty() 这个方法重新定义了对象获取属性值(get)和设置属性值(set)的操作来实现的.那么Object.defineP ...
- 浅谈jquery之on()绑定事件和off()解除绑定事件
off()函数用于移除元素上绑定的一个或多个事件的事件处理函数. off()函数主要用于解除由on()函数绑定的事件处理函数. 该函数属于jQuery对象(实例). 语法 jQuery 1.7 新增该 ...
- JS基础——浅谈前端页面渲染和性能优化
加载html中的静态资源 其中,加载静态资源的过程,一般为浏览器根据DNS服务器得到域名的IP地址,然后向这个IP的机器发送http请求,服务器收到.处理并返回http请求,浏览器得到返回http请求 ...
- 浅谈jQuery页面的滚动位置scrollTop、scrollLeft
Web页面常常比显示该页面的浏览器窗口还要大,因为Web文档具有很多内容,往往会导致页面比浏览器还要高,有时候甚至还要宽,这迫使访问者通过滚动来查看整个页面(如图10-8所示).当访问者滚动页面的时候 ...
随机推荐
- Centos 下搭建SVN + Apache 服务器(转载)
安装软件包 ? 1 # yum install httpd ? 1 # yum install mod_dav_svn ? 1 # yum install subversion 2. 验证安装 ? ...
- Asp.Net MVC3.0网站统计登录认证的在线人数
Asp.Net MVC3.0网站统计登录认证的在线人数 前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这 ...
- C# 多线程详解 Part.03 (定时器)
Timer 类: 设置一个定时器,定时执行用户指定的函数.定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数. using System; using System.Threadin ...
- call,apply,bind函数
一.call函数 a.call(b); 简单的理解:把a对象的方法应用到b对象上(a里如果有this,会指向b) call()的用法:用在函数上面 var Dog=function(){ this.n ...
- 转: 详解css中的display属性
在一般的CSS布局制作时候,我们常常会用到display对应值有block.none.inline这三个值.下面我们来分别来认识和学习什么时候用什么值.这里通过CSS display知识加实例讲解方法 ...
- Apache启用性能优化——启用Gzip,JS压缩
#Add deflate module for enable GZIP function LoadModule deflate_module modules/mod_deflate.so #A ...
- HDU 3255 扫描线(立方体体积并变形)
Farming Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- 使用rosed编辑ROS文件
1.1使用rosed. rosed是rosbash套件的一部分.它可以使你通过package的名字直接编辑一个package中的文件而不用输入package的整个路径. 用法: $ rosed [pa ...
- 使用eclipse创建在myeclipse中运行的web工程
今天在跟随慕课网学习java时,遇到课程中老师使用Myeclipse,我用的是eclipse,那么就使用eclipse创建在Myeclipse项目 参考: 如何在Eclipse配置Tomcat服务器 ...
- Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(二)
如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数: double add(double x, double y) { return x + y; } 现在我想要在Matlab中使用它,比 ...