FEB 6TH, 2012 | COMMENTS
之前我写过浅谈github页面域名绑定和再谈github页面域名绑定,在后文提到的域名跳转方法是错的。本文提供了一种正确的方法。
为什么要跳转域名
假设github上的用户名是 username,创建代码库名为username.github.com的代码库,在master分支下建立github页面,设置好域名为 mydomain.com ,则用http://username.github.com访问页面github会自动跳转到http://mydomain.com。
但是如果在已经设置了username.github.com域名之后,把项目代码库repo的gh-pages分支下的网站设置域名 mydomain2.com ,用http://username.github.com/repo访问的时候只会自动跳转到http://mydomain.com/repo,不会跳转到http://mydomain2.com 。虽然http://mydomain.com/repo的形式也可以访问,但是用于网页地址里相对路径的不同,造成很多资源(比如css和js文件)无法访问,网页变得面目全非,例如http://hsatac.github.com/octo/,它实际绑定的域名应该是http://blog.hsatac.net/,前者不能正常显示。
用javascript实现域名跳转
原来我以为用.htaccess文件可以实现网址跳转,后来发现当初跳转成功是因为浏览器缓存了解析的域名,给github发信咨询,得到的回复是github现在还不支持.htaccess,以后可能会考虑把这个功能加上。
我也考虑过用下面的代码实现转址
1
但是,问题是这样跳转后其实还是转到了自己这个网页,只不过换了个地址。这样这段代码会反复执行,在firefox和chrome下没有感觉,但是在IE下就很明显了。
我想到了用javascript来检测网页的地址,然后跳转到目标地址。只需要将将下面的代码放到和之间,注意把网址替换成自己的。
1234567
注意:域名末尾的/一定要有,我之前就因为没发现这点,所以才浪费了很长时间。
FEB 6TH, 2012 | COMMENTS
之前我写过浅谈github页面域名绑定和再谈github页面域名绑定,在后文提到的域名跳转方法是错的。本文提供了一种正确的方法。
为什么要跳转域名
假设github上的用户名是 username,创建代码库名为username.github.com的代码库,在master分支下建立github页面,设置好域名为 mydomain.com ,则用http://username.github.com访问页面github会自动跳转到http://mydomain.com。
但是如果在已经设置了username.github.com域名之后,把项目代码库repo的gh-pages分支下的网站设置域名 mydomain2.com ,用http://username.github.com/repo访问的时候只会自动跳转到http://mydomain.com/repo,不会跳转到http://mydomain2.com 。虽然http://mydomain.com/repo的形式也可以访问,但是用于网页地址里相对路径的不同,造成很多资源(比如css和js文件)无法访问,网页变得面目全非,例如http://hsatac.github.com/octo/,它实际绑定的域名应该是http://blog.hsatac.net/,前者不能正常显示。
用javascript实现域名跳转
原来我以为用.htaccess文件可以实现网址跳转,后来发现当初跳转成功是因为浏览器缓存了解析的域名,给github发信咨询,得到的回复是github现在还不支持.htaccess,以后可能会考虑把这个功能加上。
我也考虑过用下面的代码实现转址
1
但是,问题是这样跳转后其实还是转到了自己这个网页,只不过换了个地址。这样这段代码会反复执行,在firefox和chrome下没有感觉,但是在IE下就很明显了。
我想到了用javascript来检测网页的地址,然后跳转到目标地址。只需要将将下面的代码放到和之间,注意把网址替换成自己的。
1234567
注意:域名末尾的/一定要有,我之前就因为没发现这点,所以才浪费了很长时间。