云博客例如wordpress.com 绑定域名的功能是如何实现的?


例如 wordpress.com 或Tumblr 一个用户注册后可以绑定到自己的一个顶级域名,

这个功能是如何实现的? 因为要做一个类似的云博客,

不知道是在apache或nginx配置里面实现?,
apache如何读取数据库的域名信息然后跳转到对应的用户ID下面的站点?

同时PHP程序中的路由如何实现?

apache php nginx 域名

日之冈穗群 10 years, 5 months ago

首先你需要知道什么是“泛解析”。
泛解析: *.wordpress.com , 这样的话不管你是1024.wordpress.com ,还是chromefans.wordpress.com,都可以按照 *.wordpress.com解析到wordpress.com
然后在程序判断这个“ * ”就可以了。类似


 //伪代码
$var = explode('.', $_SERVER['SERVER_NAME']);
$var[0]

上面说的是子域名方法。


下面说的是顶级域名方法。
其实顶级域名也是一样的,不管怎么样让他CNAME绑到你的IP就好了,判断来路域名,去数据库查。


 //伪代码
$current = $_SERVER['SERVER_NAME']; 
if($current != "wordpress.com") { // 当前来路域名不是你的域名
    is_user_bind_domain($current); // 是不是用户绑定的
    call_something();
}

DIO爷的飞刀 answered 10 years, 5 months ago

Your Answer