捌玖网络工作室's Archiver

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

独立主机Apache 配置二级域名

首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com其次,在 httpd.conf 中打开 mod_rewrite之后,在 httpd.conf 的最后,添加以下内容:
Ys:h i7Q){ i g+e;m:k
RewriteEngine on*a3dW ]xS|
RewriteMap lowercase int:tolower
"q B"p VsO8k RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
9{1a8uZ$j!E3AuC RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$)v PY4U!O
RewriteCond ${vhost:%1} ^(/.*)$
oTMf4w RewriteRule ^/(.*)$ %1/$1
"]7N?1B{;S(}"I#caD ;GA C @d:nA
+?5?nd0x*e
其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改。PU~ \;?%vmmk9d6U
然后,在这个所在路径的目录下创建一个文件: vhost.map
4A,MYBhK0f q 内容为:
6p [J2Y!eW ^
'z G o%pWRZ Lt [url=http://www.domain.com/][size=2][color=#000033]www.domain.com[/color][/size][/url] /usr/local/www/data-dist/domain
,pc2]nr~ bbs.domain.com /usr/local/www/data-dist/bbs
8aJs? ^cZ anyname.domain.com /usr/local/www/data-dist/anyname)_+u0~c e2zq.t

h ~7Q[ {+yE 以上部分都是:” 域名+空格+绝对路径” 的形式。1zU"g(o"v'k%r

$F[4e\!j _ 最后,在你的网站根目录 /usr/local/www/data-dist 下,创建对应目录:k u#m2SCN1X y7C(qO
domain , bbs , anyname 等等,理论上可以无限。/Cv9N.M*P
gZ9M Z Y-v a
这样,通过浏览器,访问 [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 目录下的文件。而且,你可以
rkF*Zv nW 随时更改 vhost.map 来增加、删除、修改你的二级域名和所指向的实际路径,不用重启 apache。
}F'os2Yog#R1t
F+o6@G&|U R9y 第一步:打开apache的配置文件httpd.conf,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#号。
lBEa/qzD7QCr 第二步:打配置文件尾部加上
9j1vU-~Au'h RewriteEngine on
X6KJ:^B"d8B3U RewriteMap lowercase int:tolower&k%Y OJ/qNH-x&X
#定义映像文件
,Ee{4qR/I&Uv[1q6zw0R RewriteMap vhost txt:/apache/vhost/vhost.mapsP-dGHD-L(y
#处理变名
*j2rhkdm!k RewriteCond %{REQUEST_URI} !^/icons/
,R P8@*H@f&g RewriteCond %{REQUEST_URI} !^/cgi-bin/
3YnWp'l[o5MqL RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
kuH/U*QU z-d1y,b 这里做基于文件的重新映射Q!r*C}y n7Y D
RewriteCond ${vhost:%1} ^(/.*)$ e FQ ]6q
RewriteRule ^/(.*)$ %1/$1
&V%rn LjD(wL RewriteCond %{REQUEST_URI} ^/cgi-bin/ N\ A{_ M
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$;a*}`X,}z:iO,g$L^
RewriteCond ${vhost:%1} ^(/.*)$
yn hXN7\)` W RewriteRule ^/(.*)$ %1/cgi-bin/$1*z Eq2B8R hw4q
b L u5o.]tP U!{
注意:vhost.map文件是域名和空间映像的文件,格式如下: #QK4k7J l F].eU
[url=http://www.abc.com/][size=2][color=#000033]www.abc.com[/color][/size][/url] /vhostusr/www.abc.com
Lpp yX#O a [url=http://www.xyz.com/][size=2][color=#000033]www.xyz.com[/color][/size][/url] /vhostuser/www.xyz.com i"j5jVL]'|Q
[url=http://www.cccbbbb.net/][size=2][color=#000033]www.cccbbbb.net[/color][/size][/url] /vhostuser/www.ccbbbb.net#L yZ?pbyd R
.
'm!W#s#N4z7X"Z+w .
?*x8s-U!cC:Lf9S .
QB\|y9R .
Z^p(Bt| Z4X/dnq,T (你不会连/vhostuser/www.abc.com目录也没建吧,会报错的哟)3zgsrFO:~%X
第三步:保存配置文件,重启apache。在开设可绑定域名的空间时,只要在vhost.map文件里添加相应记录,并建立相应文件夹就OK了~~~
.qo)K'L @N 其实这个可以用php脚本来完成的,很简单的~~呵呵~~~
uz/},c3T8[%F ro 注意啊:php_admin_value open_basedir “path,这个选项要配好啊~~新手如果不懂的,就不要动这个了~i f$A6Kl
==============================================/v@/^v'P(Pt
方法二、
d;x8L#J_ ?h 8B5C%S&Nw4b3UN

`#R/woa6js S rewriteengine on @-A2d^ [%UF
rewritecond %{HTTP_HOST} [^.]+\.域名\.com$pgeB:ZH/q F0X
rewriterule ^(.+) %{HTTP_HOST}$1 [C]#F]2pd} Tb%e
rewriterule ([^.]+)\.域名\.com(.*) /$1$2%MM~@!_,e*f7@^]7u
其他配置文件
y&? da5t,TnS
#kb&s Hj ` 接着在DNS中开设一个泛解析到对应的IP地址。
s!j M8_:} 就可以实现下面的方案。0Nx#];J8wlL)h&e
4bt _*}f)`:nT{?
域名:domain.com
hqi e$e 绝对路径:/home/domain.com/K)P4D-sAW"I
[url=http://www.domain.com/][size=2][color=#000033]www.domain.com[/color][/size][/url] 自动解析到 /home/domain.com/www/D P[_ V7w;r6H
abc.domain.com 自动解析到 /home/domain.com/abc/I F1c1^Si%L2H$m!X%Z
等等子域名都可以自动解析到 /home/domains.com/对应子域名名称的文件夹
4|vN3gh'T-g7r qJ%h^ 直接建立子域名名称的文件夹即可使用。不需重启apache。

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


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