配置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。 

第一步:打开apache的配置文件httpd.conf,去掉LoadModule rewrite_module modules
/ mod_rewrite.so前面的#号。 
第二步:打配置文件尾部加上 
RewriteEngine on 
RewriteMap lowercase 
int :tolower 
#定义映像文件 
RewriteMap vhost txt:
/ apache / vhost / vhost.map 
#处理变名 
RewriteCond 
% {REQUEST_URI}  !^/ icons /  
RewriteCond 
% {REQUEST_URI}  !^/ cgi - bin /  
RewriteCond ${lowercase:
% {SERVER_NAME}}  ^ (. + )$ 
这里做基于文件的重新映射 
RewriteCond ${vhost:
% 1 ^ ( / . * )$ 
RewriteRule 
^/ (. * )$  % 1 / $ 1  
RewriteCond 
% {REQUEST_URI}  ^/ cgi - bin /  
RewriteCond ${lowercase:
% {SERVER_NAME}}  ^ (. + )$ 
RewriteCond ${vhost:
% 1 ^ ( / . * )$ 
RewriteRule 
^/ (. * )$  % 1 / cgi - bin / $ 1  

注意:vhost.map文件是域名和空间映像的文件,格式如下:  
www.abc.com 
/ vhostusr / www.abc.com 
www.xyz.com 
/ vhostuser / www.xyz.com 
www.cccbbbb.net 
/ vhostuser / www.ccbbbb.net 
www.cncms.com.cn 
/ vhostuser / www.cncms.com.cn




(你不会连
/ vhostuser / www.abc.com目录也没建吧,会报错的哟) 
第三步:保存配置文件,重启apache。在开设可绑定域名的空间时,只要在vhost.map文件里添加相应记录,并建立相应文件夹就OK了~~~ 
其实这个可以用php脚本来完成的,很简单的~~呵呵~~~ 
注意啊:php_admin_value open_basedir “path,这个选项要配好啊~~新手如果不懂的,就不要动这个了~ 
==============================================  
方法二、 


rewriteengine on 
rewritecond 
% {HTTP_HOST} [ ^ .] + \.域名\.com$ 
rewriterule 
^ (. + % {HTTP_HOST}$ 1  [C] 
rewriterule ([
^ .] + )\.域名\.com(. * / $ 1 $ 2  
其他配置文件 

接着在DNS中开设一个泛解析到对应的IP地址。 
就可以实现下面的方案。 

域名:domain.com 
绝对路径:
/ home / domain.com /  
www.domain.com 自动解析到 
/ home / domain.com / www /  
abc.domain.com 自动解析到 
/ home / domain.com / abc /  
等等子域名都可以自动解析到 
/ home / domains.com / 对应子域名名称的文件夹 
直接建立子域名名称的文件夹即可使用。不需重启apache。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值