apache域名绑定
需求背景:系统中用户注册后会根据id生成其主页,如http://www.test.com/index/2
用户希望实现一级域名绑定,即,通过访问http://www.demo.com也能直接访问到其主页
我们系统采用的是apache + tomcat的环境,通过apache访问静态资源。
apache + tomcat的搭建配置不属于本文讨论范围。
解决方法,在apache的配置文件中加入vhost
<VirtualHost *:80>#申请的一级域名,根据实际情况修改ServerName www.demo.comServerAlias www.demo.comDocumentRoot "/home/test/statics"RewriteLogLevel 1ErrorLog logs/demo_error.logCustomLog logs/demo_cn.log common<Directory "/home/test/statics">Options FollowSymLinksAllowOverride AllOrder allow,denyAllow from all</Directory>RewriteEngine on#下行中的“2”为该用户的id号,根据实际情况修改RewriteRule ^/$ /index/2 ProxyPass /images/ !ProxyPass /swf/ !ProxyPass /scripts/ !ProxyPass /css/ !ProxyPass / balancer://tomcatcluster/ProxyPassReverse / balancer://tomcatcluster/<Proxy balancer://tomcatcluster>BalancerMember ajp://127.0.0.1:8009 route=jvmtest</Proxy></VirtualHost> 添加完vhost后,重启下httpd服务,就实现了一级域名绑定。
顺便说一个很简单的二级域名绑定方式
在www.test.com的vhost中添加如下内容:
RewriteEngine onRewriteCond %{HTTP_HOST} ^+\.test.com$RewriteRule ^/?$ /%{HTTP_HOST}RewriteRule ^/(+)\.test\.com/?$ /index/$1 这样通过访问http://2.test.com也能范围到http://www.test.com/index/2中同样内容了
apache域名绑定的关键是urlrewrite,需要一点正则表达的知识。
如果有需要帮助的,给我留言就ok了,我会尽力帮忙的
页:
[1]