itEye等网站有个很不错的机制,就是每个用户都有一个永久的二级域名
正好所在的项目也想实现这样的功能,研究了一下,发现用apache的地址重写可以实现,
配合apache和tomcat的集成,可以使tomcat也有这样的功能。
想实现通过http://7784.namezhou.com 实际打开的是 http://www.namezhou.com/7784 的效果
步骤如下:
1.启动apache的url_rewrite模块
LoadModule rewrite_module modules/mod_rewrite.so
2.配置vhost里的地址重写
<VirtualHost _default_:80> DocumentRoot "${SRVROOT}/htdocs" RewriteEngine On RewriteCond %{HTTP_HOST} ^[a-z0-9\-]+\.namezhou\.com$ RewriteRule ^/(.*)$ /%{SERVER_NAME}/$1 RewriteRule ^/([a-z0-9\-]+)\.namezhou\.com/(.*)$ /$1/$2 [L] </VirtualHost>
3.启用域名的泛解析
cname 类型记录 *.namezhou.com 指向 www.namezhou.com