记录下项目用的,用户自定义个性域名范解析
2009-12-08 10:08
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[a-z0-9A-Z/-]+/.it1s.cn$
RewriteRule ^/?$ /%{HTTP_HOST}
RewriteRule ^/([a-z0-9A-Z/-]+)/.it1s/.cn/?$ /blog.php?u=$1
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[a-z0-9A-Z/-]+/.wjsn.com$
RewriteRule ^/?$ /%{HTTP_HOST}
RewriteRule ^/([a-z0-9A-Z/-]+)/.wjsn/.com/?$ /blog.php?u=$1
泛域名解析
公司代理联盟系统需要做个范域名解析:原理就是用户根据登陆的用户名推广产品,之前是长长的一段:www.abc.com/invite.htm?uid=1234 ,这样的地址给用户推广起来很不方便,也很容易给最终用户长生恐惧感,怕是病毒!!所以得做个泛域名解析,比如用户登陆名是:test 用户ID是1234,那么他的推广网站就变成:test.abc.com 代替原先的www.abc.com/invite.htm?uid=1234!!
需要做的只有两部:
1.在DNS服务器哪里加个二级域名,前面加个 * 号就可以了!
2.然后在代理联盟系统的服务器上配置一下apache
Apache代码
1. NameVirtualHost *:80
2. <VirtualHost *:80 >
3. ServerName abc.com
4. ServerAlias *.abc.com
5. <Directory "/home/webadmin/">
6. Options FollowSymLinks Includes
7. AllowOverride None
8. Order allow,deny
9. Allow from all
10. RewriteEngine On
11. rewritecond %{HTTP_HOST} [^.]+/.abc/.com$
12. rewriterule ^(.+) %{HTTP_HOST}$1 [C]
13. rewriterule ^([^.]+)/.abc/.com http://sale.abc.com/html/reg/domain/name/$1$2 [R=301,L]//这个地址就是指向:www.abc.com/invite.htm?uid=1234上达到一样的效果!
14. </Directory>
15. </VirtualHost>
16. <Directory />
17. Options FollowSymLinks
18. AllowOverride None
19. Order deny,allow
20. Deny from all
21. </Directory>
RewriteEngine On
RewriteRule /r_before.php$ http://www.wjsn.com/sharea/r_after.php [R]
===================================================
Apache+Tomcat 泛域名配置
关键字: apache tomcat 泛域名配置
Apache与Tomcat的结合在此就不赘述,详情可参考我写的博客
直入正题:
原理:tomcat不支持泛域名,但Apache支持,所以在此主要借助于Apache的泛域名支持,但tomcat与Apache结合这块,就和原来的Apache和Tomcat的结合不同了,Tomcat主要借助于在server.xml中有个<Engine defaultHost="localhost" name="Catalina"> 当非法子域名指向到本站时候都提交到了webapps/ROOT去, 所以我就想如果那样的话我只要设置泛域名解析到默认的defaultHost就可以了.
Apache设置:
Xml代码
1. <VirtualHost *:80>
2. ServerName union.abc.com
3. ServerAlias *.test.org
4. DocumentRoot "D:/mywork/Test/ROOT"
5. <Directory "D:/mywork/Test/ROOT">
6. Options Indexes MultiViews
7. AllowOverride None
8. Order allow,deny
9. Allow from all
10. </Directory>
11. DirectoryIndex index.htm
12. </VirtualHost>
<VirtualHost *:80>
ServerName union.abc.com
ServerAlias *.test.org
DocumentRoot "D:/mywork/Test/ROOT"
<Directory "D:/mywork/Test/ROOT">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
DirectoryIndex index.htm
</VirtualHost>
这里的重点在于
Xml代码
1. ServerAlias *.test.org
ServerAlias *.test.org
泛域名的实现就是靠它了
Tomcat的设置:
Xml代码
1. <Host name="localhost" appBase="webapps"
2. unpackWARs="true" autoDeploy="true"
3. xmlValidation="false" xmlNamespaceAware="false">
4. <Context path="" docBase="D:/mywork/Test/ROOT" debug="0" reloadable="true"/>
5.
6. </Host>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:/mywork/Test/ROOT" debug="0" reloadable="true"/>
</Host>
当然,在做这些之前,还需要进行一个操作:
修改域名所在的dns服务器,在域名的配置中增加一条*.开头的记录,就可以实现泛解析了
参考链接:
http://stephen830.javaeye.com/blog/277522
http://blog.ntsky.com/tomcat-domain.html
用户自定义个性域名范解析
最新推荐文章于 2024-05-31 09:20:33 发布
本文介绍了如何实现用户自定义个性域名的泛解析,包括DNS服务器中添加通配符二级域名,以及Apache和Tomcat的配置方法。通过Apache的RewriteEngine和ServerAlias设置,以及Tomcat的Host和Context配置,实现将任意二级域名映射到特定的服务器路径,从而提供用户友好的推广链接。
356

被折叠的 条评论
为什么被折叠?



