新浪 SAE 云平台如何绑定域名到子目录

首发时间:2014.01.03 | 13,826 次阅读

很早以前周良介绍过新浪的 Sina App Engine(新浪SAE云平台)服务,可以用于建设免费的 WordPress 等网站,也可以部署自己开发的程序。我曾经也在博客发布过《基于新浪SAE平台的定时手机短信提示功能》和 《基于新浪SAE平台的网站监控报警系统》 这些小应用,但是新浪 SAE 有个限制,普通用户只能创建10 个独立的应用,如果超过十个,就需要付费购买更高的账户权限了,这一点很不方便.

所以,周良给大家带来一个小技巧,可以绑定域名到应用的子目录。打个比方:imzl.com 这个域名我绑定到了一个应用,而 blog.imzl.com 这个域名我可以绑定到这个应用的 /blog 目录下面(域名和目录可以自定义)。这样大家就可以在一个应用里面创建多个独立的网站了。

首先,需要把你的域名绑定到SAE应用。
SAE绑定域名的方法有两种:
1、如果你的域名已经在其他服务器备案过,则可以向SAE官方申请绑定http://sae.sina.com.cn/?m=devcenter&catId=9

2、自助绑定。请打开你的应用,进入「应用设置」,在「独立域名设置」便可以看到操作面板。按照提示一步步操作即可。(关于域名的绑定,可以查看《新浪SAE开放独立域名绑定功能》这篇文章)

绑定域名后,就需要写 Appconfig,Appconfig 保存在代码目录的 config.yaml 文件中。绑定域名到子目录的写法如下:

name: Sub-domain binding
handle:
- rewrite:if ( in_header["host"] ~ "imzl.com" && path ~ "^(?!blog/)(.*)" ) goto "blog/$1?%{QUERY_STRING}"
- rewrite:if ( in_header["host"] ~ "reader.imzl.com" && path ~ "^(?!pic3d/)(.*)" ) goto "reader/$1?%{QUERY_STRING}"
- rewrite:if ( in_header["host"] ~ "www.imzl.com"&& !is_file() &&path ~ "^(?!www/)(.*)" ) goto "www/$1?%{QUERY_STRING}"

解释一下这段代码的意思:

imzl.com 绑定到「/blog」目录
reader.imzl.com 绑定到「/code」目录
www.imzl.com 绑定到「/www」目录

关于怎么搞定子目录安装程序,可以查看 SAE 的官方文档(无非就是用 SVN上传程序文件,把文件传到你需要设定的子目录就可以了)。

附上一个新浪 SAE 的邀请链接,注册送云豆,可以免费用很久:https://imzl.com/go/sae/

20 条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

  1. 关注SAE好久,但是在 "您需要登录以后才能访问该页面 -> 点此登录 -> 您需要登录以后才能访问该页面" -> 点此登录..."的死循环中,一直没有出来过。