捌玖网络工作室's Archiver

admin 发表于 2009-4-26 19:44

独立主机Apache 配置二级域名

首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com其次,在 httpd.conf 中打开 mod_rewrite之后,在 httpd.conf 的最后,添加以下内容:
h `cZmR$k] LH\y {*eQe
RewriteEngine on
,Q!n [aQy RewriteMap lowercase int:tolowerc0ttSM*KX^
RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
9Oa"q&Di&mSg|x RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
4B6E4R LAi RewriteCond ${vhost:%1} ^(/.*)$L5Dl7w'g;kg
RewriteRule ^/(.*)$ %1/$1
I{5n.W(j4Z s8a6y c-D8i%nr|z
%C.f5Utu2_J
其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改。
3E*g l)e ^a,L~9~0H 然后,在这个所在路径的目录下创建一个文件: vhost.map
g ekuy0G(J6Q(~p [W 内容为:
cI5tk~X9I-Y9x
9x6r8f|H klj*@ f [url=http://www.domain.com/][size=2][color=#000033]www.domain.com[/color][/size][/url] /usr/local/www/data-dist/domain
b3\RTy&E,hQGC bbs.domain.com /usr/local/www/data-dist/bbs,b(nx-Fk+u X{W
anyname.domain.com /usr/local/www/data-dist/anynameqt c`5q$^t"Kd@/z
&Z"Pw d7vy
以上部分都是:” 域名+空格+绝对路径” 的形式。3?2]g*L3dE(zaJ K
%W$c8Nk$ubZ gM
最后,在你的网站根目录 /usr/local/www/data-dist 下,创建对应目录:J!ca!vx&Y*|#V
domain , bbs , anyname 等等,理论上可以无限。;T.E|S,S)v)e0O
v)i x)XVn@/H/}Y
这样,通过浏览器,访问 [url=http://www.domain.com/][size=2][color=#000033]www.domain.com[/color][/size][/url] 时,实际上访问的就是 /usr/local/www/data-dist/domain目录下的文件。同理,访问 bbs.domain.com 实际上访问的就是 /usr/local/www/data-dist/bbs 目录下的文件。而且,你可以a`wt8SpgD h5T.[?
随时更改 vhost.map 来增加、删除、修改你的二级域名和所指向的实际路径,不用重启 apache。
p*g(E6E^1v[!d~_;F ){&{,so TQG
第一步:打开apache的配置文件httpd.conf,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#号。 W1Sw?+RfR2wK
第二步:打配置文件尾部加上
~ g,I;p xW U6qK RewriteEngine on
cu4JLkjtIO)S RewriteMap lowercase int:tolower
E^&g\&i #定义映像文件
~4k(r!n Rr*T,y_ RewriteMap vhost txt:/apache/vhost/vhost.map
WHrkgX;umh #处理变名+x&u }zi h'XO:kG9R
RewriteCond %{REQUEST_URI} !^/icons/
nWZA&| } RewriteCond %{REQUEST_URI} !^/cgi-bin/+C;jLF5G*a1L2G
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$"l'a8ex(_d0k#T }Y(s
这里做基于文件的重新映射
:dg h$o;L RewriteCond ${vhost:%1} ^(/.*)$!]d_,~K&g
RewriteRule ^/(.*)$ %1/$1G p,q p|.z3n{.Y
RewriteCond %{REQUEST_URI} ^/cgi-bin/
8K6?+Ic,d&Xx RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
goF U(_%? @:X RewriteCond ${vhost:%1} ^(/.*)$
7oB$@$T|,l RewriteRule ^/(.*)$ %1/cgi-bin/$1
g f8bv;~
0} n9p:_B7p6X.f 注意:vhost.map文件是域名和空间映像的文件,格式如下: (f3m0N(@)Hzk6?[W
[url=http://www.abc.com/][size=2][color=#000033]www.abc.com[/color][/size][/url] /vhostusr/www.abc.com
B#b B5}7Xv#qs0l [url=http://www.xyz.com/][size=2][color=#000033]www.xyz.com[/color][/size][/url] /vhostuser/www.xyz.coma4i,l-D4`F W
[url=http://www.cccbbbb.net/][size=2][color=#000033]www.cccbbbb.net[/color][/size][/url] /vhostuser/www.ccbbbb.net
,eI l#~7Tp .
-Rw.W{x .L!o4X(pd
.
X1S8An\1p;I b] .
;`c$[N H9FX?4cb (你不会连/vhostuser/www.abc.com目录也没建吧,会报错的哟)
x/E~N7l*M2? {*` 第三步:保存配置文件,重启apache。在开设可绑定域名的空间时,只要在vhost.map文件里添加相应记录,并建立相应文件夹就OK了~~~,abUP,k B
其实这个可以用php脚本来完成的,很简单的~~呵呵~~~yu$B/O&C LnL;d
注意啊:php_admin_value open_basedir “path,这个选项要配好啊~~新手如果不懂的,就不要动这个了~l-bBcfS
==============================================
9xNf0xo4z"N1Mi 方法二、\&JY5~P+X dU
;w%^2m2i Kj0nSA

%y3f]%Z6O8l(S} rewriteengine on'BY hFNx5c-~
rewritecond %{HTTP_HOST} [^.]+\.域名\.com$
;G{mg8d QH rewriterule ^(.+) %{HTTP_HOST}$1 [C].X1^\0{4K
rewriterule ([^.]+)\.域名\.com(.*) /$1$2
3Au9s]'_Pb'^7oj'\ 其他配置文件
GYd%a4OV mXf6k
8\#a|5~-D 接着在DNS中开设一个泛解析到对应的IP地址。nd&NV~^ K(I
就可以实现下面的方案。
CN8o.B4w8MzLG_ b {h rq j
域名:domain.com
&b'Qu;]f 绝对路径:/home/domain.com/z,|uID(H
[url=http://www.domain.com/][size=2][color=#000033]www.domain.com[/color][/size][/url] 自动解析到 /home/domain.com/www/E*fk o.FHP'Z
abc.domain.com 自动解析到 /home/domain.com/abc/*S/W#n&J R
等等子域名都可以自动解析到 /home/domains.com/对应子域名名称的文件夹
*v'W;@ K7t)O 直接建立子域名名称的文件夹即可使用。不需重启apache。

页: [1]
【捌玖网络】已经运行:


Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.