每个用户需要自己的二级域名,就美国服务器像这样:
1 、 http://miya1201.tumblr.com/
2 、 http://ass-trals.tumblr.com/
而不是这样:
1 、 http://my.oschina.net/u/2300487
1 、 http://my.oschina.net/u/2819278
当用户填写自己的用户名,提交后,就自动生成二级域名,如何实现呢?
使用的 Apache
泛域名解析,服务器收到请求之后把 host 作为业务逻辑的参数
1 、*.domain.com
2 、 server rewrite
猜测应该是这样吧
无形飙车,最为致命
RewriteEngine on
RewriteRule ^aaa.$ /www.domain.com/$1
(╭☞•́ω•̀)╭☞ 这样么
你提到的 Rewrite 是一种方案,比如有如下链接:
example.com/home/username
你可以使用 Rewrite 规则匹配 username.example.com 转发到如上链接,具体实现就不写了,你写的思路是正确的。
也可以在程序里匹配 username.example.com 。
我没做过业务,但域名解析商一般是能提供 sdk 的....
参考这篇文章的动态二级域名解析部分 http://icybee.cn/article/57.html
泛域名解析是肯定需要的,然后在服务器上处理的话,有些框架提供相应的判断。
比如 Laravel 在路由的部分就提供了 domain 字段,可以在里面进行相应的定义,并且可以拿出来当做参数使用。
参考下面这个:
http://www.jianshu.com/p/e10f7fd84b08
功能实现了。但是。。。。 URL 自动跳转了啊
输入 http://miya1201.tumblr.com/ 地址栏 变成了 http://tumblr.com?name=miya1201
(╯°□°)╯︵ ┻━┻
你这个不错,不需要 rewrite