很早以前周良介绍过新浪的 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/
很好的学习文章!谢谢!
问下,在"^(?!blog/)(.*)"中,^(?!是什么意思呢?
@爱时尚家具 你发个互粉的表情干嘛?
以前绑定域名要使用云豆。前段时间也申请了BAE玩了下,不会php水平太弱,就放弃了。
@超级玛丽 你可以搞个wordpress玩玩
@周良 现在就专心搞自己的小网站就OK了。之前搞BAE和SAE是想搞微信公众号的
@超级玛丽 嗯。好的
这个免费服务器有时间限制的没有?
@博客赚钱 没有
子域名。。。不错么。。
@kn007 主要可以资源最大化,绑定蛮多东西到SAE了
@周良 主要是对新浪云机组不满。。sae表示没办法,没经费,没预算
@kn007 我的豆都用不完。。。。
@kn007 我表示也如此。。
关注SAE好久,但是在 "您需要登录以后才能访问该页面 -> 点此登录 -> 您需要登录以后才能访问该页面" -> 点此登录..."的死循环中,一直没有出来过。
@露兜 帮你询问一下SAE官方吧
@露兜 这个貌似是很老的问题了,记得是跟浏览器和cookie有关。
赞!很有用!
@siac 那就试试吧~