apache实现企业自定义二级域名管理-mod_rewrite

 

 

目的

最近公司在做电子商务网站,需要做各个企业的电子商务网站,就如淘宝一样,给每个淘宝商铺开设*.taobao.com的二级域名,策划部门为了提高客户的新鲜度,也准备这么做;

 

800年前,当时申请网易的免费个人主页的时候,还在惊奇,网易的DNS管理员太NB了,这么多人的免费主页,如果他要做域名的映射,不得累死才怪,原来有好的办法可以实现的

 

实验

1、安装apache,我安装的2.4版本,安装好之后,启动apache

2、修改apache配置文件

    第一步、启动rewrite模块,将以下行前面的#删除

  

Conf代码   收藏代码
  1. <span style="font-size: small;">LoadModule rewrite_module modules/mod_rewrite.so</span>  


   第二步、增加虚拟机设置,

      test.com   你要测试的域名

      C:/Program Files/Apache Software Foundation/Apache2.2/htdocs web服务器默认目录,可以自行修改


Apache conf代码   收藏代码
  1. <span style="font-size: small;"><VirtualHost localhost:80>  
  2. ServerName *.test.com  
  3. ServerAlias *.test.com  
  4. RewriteEngine on  
  5. DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"  
  6.   
  7. RewriteLog "C:/Program Files/Apache Software Foundation/Apache2.2/logs/rewrite.log"   
  8.   
  9.   
  10. RewriteCond %{HTTP_HOST} ^[A-Za-z0-9\-]+\.test\.com$  
  11. RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1  
  12. RewriteRule ^/([A-Za-z0-9\-]+)\.test\.com/(.*)$ "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/$1/$2" [L]  
  13.   
  14.   
  15.   
  16. </VirtualHost></span>  

 

   第三步、修改C:\WINDOWS\system32\drivers\etc配置

   因为没有外网实际环境,只能通过hosts文件来模拟外网DNS环境了,增加如下行


Hosts代码   收藏代码
  1. <span style="font-size: small;">127.0.0.1       a.test.com  
  2. 127.0.0.1       b.test.com  
  3. 127.0.0.1       www.test.com  
  4. </span>  

 第四步、重启apache


第五步、在C:/Program Files/Apache Software Foundation/Apache2.2/htdocs目录下建立以下目录a和b目录,并防止不同的html文件


第六步、打开ie,输入a.test.com看看效果,配置成功


 

生产环境

在介绍之前先简单介绍下什么是

百度知道代码   收藏代码
  1. 泛域名解析  

 

1、设置DNS泛域名解析,将所有*.test.com全部指向到配置好的apache服务器;

2、设置一个跳转页面,通过域名查找到企业的ID,然后转到标准的企业展示页面

 

 

百度知道代码   收藏代码
  1. 什么是泛域名解析?  
  2.   泛域名解析是指将*.域名解析到同一IP。  
  3.   在域名前添加任何子域名,均可访问到所指向的WEB地址。也就是客户的域名#.com之下所设的*.#.com全部解析到同一个IP地址上去。  
  4.   比如客户设1.#.com就会自己自动解析到与#.com同一个IP地址上去。  
  5.   泛域名解析域名域名解析的区别?  
  6.   泛域名解析是:*.域名解析到同一IP。  
  7.   域名解析是:子域名.域名解析到同一IP。  
  8.   注意:只有你的空间是独立IP的时候泛域名才有意义。而域名解析则没有此要求。  

  问题

测试中发现一个比较麻烦的问题,那就是如何处理www.test.com,因为按照rule中的正则表达式,www也是要跳转的,解决该问题的办法就是

1、在web目录下开设一个WWW目录,放置网站的首页

2、WWW.test.com和二级域名的IP地址指向不是同一台机器,也可以解决此问题

 

 

参考文献:

http://topic.csdn.net/u/20100113/20/56f23163-92a8-4394-a441-93eb8885a60b.html

 

http://www.517sou.net/blogview.asp?logID=1630

 

 

 

作者:无名程序员

微博:weibo.com/wmcxy

blog:wmcxy.iteye.com

转载请注明原作者,谢谢配合!

你可能感兴趣的:(职场,休闲,二级域名管理系统,泛域名解析)