捌玖网络工作室's Archiver

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

独立主机Apache 配置二级域名

首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com其次,在 httpd.conf 中打开 mod_rewrite之后,在 httpd.conf 的最后,添加以下内容:
N WK2Xl,qmub5A r"o s8f:SW)v+Y
RewriteEngine on
}Dx(vU RewriteMap lowercase int:tolower
S:K8Q4s&]'] RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
O1ex1K5T r3D3y RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$kF `x6A}
RewriteCond ${vhost:%1} ^(/.*)$%y-V$x0gliw]
RewriteRule ^/(.*)$ %1/$1
~;F;?8I2i:XC0M
1q'U|;J,pV$L6r1B
Y pm"Tb ik9i 其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改。
F@B Mo 然后,在这个所在路径的目录下创建一个文件: vhost.map;D+e VRS H'l
内容为: eB9A ?%vX7T+l
2S%j Fw.r/`om
[url=http://www.domain.com/][size=2][color=#000033]www.domain.com[/color][/size][/url] /usr/local/www/data-dist/domain7uy9cV!@\"Ev
bbs.domain.com /usr/local/www/data-dist/bbsmj1sr AW#z Z
anyname.domain.com /usr/local/www/data-dist/anyname
G T-V6\Q$\"MY7q&v
Mk D$j)D[*? 以上部分都是:” 域名+空格+绝对路径” 的形式。8r I d8w:t r/S D

aQ ~ J/jZ&[a@ 最后,在你的网站根目录 /usr/local/www/data-dist 下,创建对应目录:q.w4B,w+Y(q b;v#e
domain , bbs , anyname 等等,理论上可以无限。&`/O}!g G/K(Jp7d

7Sk*S+un8y 这样,通过浏览器,访问 [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 目录下的文件。而且,你可以2q\DGKE{5G
随时更改 vhost.map 来增加、删除、修改你的二级域名和所指向的实际路径,不用重启 apache。S'G;bm7Af`)q

eA6M3kW7ouM 第一步:打开apache的配置文件httpd.conf,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#号。
.L5\ P`6l5g_i9h`zo 第二步:打配置文件尾部加上 D` l/M$E6C!]
RewriteEngine on
3|sN^ RV5\ RewriteMap lowercase int:tolower
"C(e Hour&f.z(N9B #定义映像文件0b!Yn,[#}HH
RewriteMap vhost txt:/apache/vhost/vhost.map8Go)oIB/M
#处理变名
s9fc w"m+k6pY(W RewriteCond %{REQUEST_URI} !^/icons/
w$j(l2X/OgL RewriteCond %{REQUEST_URI} !^/cgi-bin/ K,~(MA%Nf
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
m*Z"}5b)k] O{.w 这里做基于文件的重新映射.K)i,x'J-V5Q,hj1J
RewriteCond ${vhost:%1} ^(/.*)$+Z$i;y&z\Twt [
RewriteRule ^/(.*)$ %1/$1
$?Y E-Z!{:u RewriteCond %{REQUEST_URI} ^/cgi-bin/o2V3VH N
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$u)|/N r*x S/a%G8eW mi4_u
RewriteCond ${vhost:%1} ^(/.*)$p"BmTz+G:m7L
RewriteRule ^/(.*)$ %1/cgi-bin/$1
7xe0n0sb3}S:d(c^ 5o Z/X9D}%L
注意:vhost.map文件是域名和空间映像的文件,格式如下: 
,H6p)H Rg,r!I/YY [url=http://www.abc.com/][size=2][color=#000033]www.abc.com[/color][/size][/url] /vhostusr/www.abc.com@k7z/E X2^1U
[url=http://www.xyz.com/][size=2][color=#000033]www.xyz.com[/color][/size][/url] /vhostuser/www.xyz.comr)F K[ZZ_&x,W
[url=http://www.cccbbbb.net/][size=2][color=#000033]www.cccbbbb.net[/color][/size][/url] /vhostuser/www.ccbbbb.net
5T7`F8y$|N} .CxvN9h,T
.}`5@A/Xt/M
.
&IV/P1A4k0@8daI ..K4SE w${U!{
(你不会连/vhostuser/www.abc.com目录也没建吧,会报错的哟)-\No4o#x n[
第三步:保存配置文件,重启apache。在开设可绑定域名的空间时,只要在vhost.map文件里添加相应记录,并建立相应文件夹就OK了~~~
}?$~.q5}"F 其实这个可以用php脚本来完成的,很简单的~~呵呵~~~0g-RU._5d?$J8\
注意啊:php_admin_value open_basedir “path,这个选项要配好啊~~新手如果不懂的,就不要动这个了~
3R B,q#u\ ] ==============================================
Y6V1W\d/Q$[RPU 方法二、#S+Q5^a1AD~

-V6b!oBi q3o#Hk @ N$YL9_
rewriteengine on
e9e"Wq3k)CQ rewritecond %{HTTP_HOST} [^.]+\.域名\.com$
!N ?*HC6TP5y3B*O rewriterule ^(.+) %{HTTP_HOST}$1 [C]
d#Za+orjsb rewriterule ([^.]+)\.域名\.com(.*) /$1$2
1y)V hapg 其他配置文件$N1|g;`xD,D.w @
JY,oQ%U5}
接着在DNS中开设一个泛解析到对应的IP地址。
[l8zwUM#h t0u9R 就可以实现下面的方案。
y#{`0C2LP O9S?
q'i9w5y:d 域名:domain.com)eU.jE9u `&^blq)C"T^
绝对路径:/home/domain.com/
r p%e\-pC'vE6p%h [url=http://www.domain.com/][size=2][color=#000033]www.domain.com[/color][/size][/url] 自动解析到 /home/domain.com/www/
,?'z*p;K#d1Ee abc.domain.com 自动解析到 /home/domain.com/abc/ R)]%CZtX y2MA/n
等等子域名都可以自动解析到 /home/domains.com/对应子域名名称的文件夹~EOY_Wt~
直接建立子域名名称的文件夹即可使用。不需重启apache。

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


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