apache域名绑定

需求背景:

系统中用户注册后会根据id生成其主页,如http://www.test.com/index/2

用户希望实现一级域名绑定,即,通过访问http://www.demo.com也能直接访问到其主页

 

我们系统采用的是apache + tomcat的环境,通过apache访问静态资源。

apache + tomcat的搭建配置不属于本文讨论范围。

 

解决方法,在apache的配置文件中加入vhost

 

<VirtualHost *:80>
#申请的一级域名,根据实际情况修改
ServerName www.demo.com
ServerAlias www.demo.com

DocumentRoot "/home/test/statics"
RewriteLogLevel 1
ErrorLog logs/demo_error.log
CustomLog logs/demo_cn.log common

<Directory "/home/test/statics">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

RewriteEngine on
#下行中的“2”为该用户的id号,根据实际情况修改
RewriteRule ^/$ /index/2 [R,L]

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 on
RewriteCond %{HTTP_HOST} ^[0-9]+\.test.com$
RewriteRule ^/?$ /%{HTTP_HOST}
RewriteRule ^/([0-9]+)\.test\.com/?$ /index/$1 [R,L]

 这样通过访问http://2.test.com也能范围到http://www.test.com/index/2中同样内容了

 

apache域名绑定的关键是urlrewrite,需要一点正则表达的知识。

如果有需要帮助的,给我留言就ok了,我会尽力帮忙的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值