Apache二级域名实现

Apache二级域名实现

 

首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com

 

其次,在 httpd.conf 中打开 mod_rewrite

 

之后,在 httpd.conf 的最后,添加以下内容:

 

RewriteEngine on

 

RewriteMap lowercase int:tolower

 

RewriteMap vhost txt:/usr/local/etc/apache/vhost.map

 

RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$

 

RewriteCond ${vhost:%1} ^(/.*)$

 

RewriteRule ^/(.*)$ %1/$1

 

其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改。

 

然后,在这个所在路径的目录下创建一个文件: vhost.map

 

内容为:

 

www.domain.com /usr/local/www/data-dist/domain

 

bbs.domain.com /usr/local/www/data-dist/bbs

 

anyname.domain.com /usr/local/www/data-dist/anyname

 

以上部分都是:" 域名+空格+绝对路径" 的形式。

 

最后,在你的网站根目录 /usr/local/www/data-dist 下,创建对应目录:

 

domain , bbs , anyname 等等,理论上可以无限。

 

这样,通过浏览器,访问 www.domain.com 时,实际上访问的就是 /usr/local/www/data-dist/domain目录下的文件。同理,访问 bbs.domain.com 实际上访问的就是 /usr/local/www/data-dist/bbs 目录下的文件。而且,你可以

 

随时更改 vhost.map 来增加、删除、修改你的二级域名和所指向的实际路径,不用重启 apache。

 

 

转自:http://www.17php.org/article-4.html

posted @ 2014-02-01 15:46  fxair  阅读(296)  评论(0编辑  收藏  举报