09-05
25
apache用urlrewrite实现二级域名
作者:Java伴侣 日期:2009-05-25
服务器是apache带了iis和tomcat,又要加一个系统跑了一个第三方的类似iis的web服务还要加二级域名,烦,这就是集成?还要搞单点登录,哎
80端口给apache,iis给了6666,类iis给了801,tomcat给了8081,琢磨了一天才实现这个功能记一笔不要忘了。
首先泛域名解析要找域名商设置的,其他的urlrewrite就在apache里做了
一切尽在这段中
<VirtualHost *>
ServerAdmin hibj@letgoo.com
DocumentRoot /webs/hosts/hibj/html/
ServerName www.XXXX.cn
ServerAlias www.XXXX.cn
ErrorLog c:/webs/logs/www.XXXX.cn-error_log
CustomLog c:/webs/logs/www.XXXX.cn-access_log common
#前面的就不说了一个VirtualHost 的设置
#这个是把iis代理到虚拟目录shop1上
ProxyPass /shop1/ http://127.0.0.1:6666/
#这个是把类iis代理到虚拟目录store上
ProxyPass /store/ http://127.0.0.1:801/
#下面是rewrite的写法,三个rewritecond三个的关系默认是AND,第2和第3个rewritecond表示如果是www\.XXXX\.cn或者shop\.XXXX\.cn就不做url rewrite
Rewriteengine on
rewritecond %{HTTP_HOST} ^[^.]+\.XXXX\.cn$ [NC]
rewritecond %{HTTP_HOST} !^www\.XXXX\.cn.*$ [NC]
rewritecond %{HTTP_HOST} !^shop\.XXXX\.cn.*$ [NC]
rewriterule ^(.+) %{HTTP_HOST}$1 [C]
#这里就把符合条件的HTTP_HOST请求转发到/store/index.asp,并且把请求的地址作为参数传递给index.asp,当然在index.asp中怎么分配转发自己写了
rewriterule ^([a-z-]+\.XXXX\.cn/.*) /store/index.asp?site=$1 [PT]
</VirtualHost>
这样用户abc创建自己的账户后就可以用 abc.XXXX.com来访问了
80端口给apache,iis给了6666,类iis给了801,tomcat给了8081,琢磨了一天才实现这个功能记一笔不要忘了。
首先泛域名解析要找域名商设置的,其他的urlrewrite就在apache里做了
一切尽在这段中
<VirtualHost *>
ServerAdmin hibj@letgoo.com
DocumentRoot /webs/hosts/hibj/html/
ServerName www.XXXX.cn
ServerAlias www.XXXX.cn
ErrorLog c:/webs/logs/www.XXXX.cn-error_log
CustomLog c:/webs/logs/www.XXXX.cn-access_log common
#前面的就不说了一个VirtualHost 的设置
#这个是把iis代理到虚拟目录shop1上
ProxyPass /shop1/ http://127.0.0.1:6666/
#这个是把类iis代理到虚拟目录store上
ProxyPass /store/ http://127.0.0.1:801/
#下面是rewrite的写法,三个rewritecond三个的关系默认是AND,第2和第3个rewritecond表示如果是www\.XXXX\.cn或者shop\.XXXX\.cn就不做url rewrite
Rewriteengine on
rewritecond %{HTTP_HOST} ^[^.]+\.XXXX\.cn$ [NC]
rewritecond %{HTTP_HOST} !^www\.XXXX\.cn.*$ [NC]
rewritecond %{HTTP_HOST} !^shop\.XXXX\.cn.*$ [NC]
rewriterule ^(.+) %{HTTP_HOST}$1 [C]
#这里就把符合条件的HTTP_HOST请求转发到/store/index.asp,并且把请求的地址作为参数传递给index.asp,当然在index.asp中怎么分配转发自己写了
rewriterule ^([a-z-]+\.XXXX\.cn/.*) /store/index.asp?site=$1 [PT]
</VirtualHost>
这样用户abc创建自己的账户后就可以用 abc.XXXX.com来访问了
评论: 0 | 引用: 0 | 查看次数: 594
发表评论