捌玖网络工作室's Archiver

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

独立主机Apache 配置二级域名

首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com其次,在 httpd.conf 中打开 mod_rewrite之后,在 httpd.conf 的最后,添加以下内容:
,w%z a.SrW 0l"`3Ll.]9hw&[]_&p
RewriteEngine onp&iM9H {8q\.t
RewriteMap lowercase int:tolower[ iL&Hw
RewriteMap vhost txt:/usr/local/etc/apache/vhost.mapfYvOU
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$6?tm qn)B]
RewriteCond ${vhost:%1} ^(/.*)$"vBX0|!h'Z:B c x
RewriteRule ^/(.*)$ %1/$1
0D}$WiyXt w"oJ3W%n
2^?.Pw3R!rx
其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改。E$~g(oUri[\
然后,在这个所在路径的目录下创建一个文件: vhost.map ]vaE!m-uf
内容为:
:sS5],v"E}O
7p/@'X2V%NX1a [url=http://www.domain.com/][size=2][color=#000033]www.domain.com[/color][/size][/url] /usr/local/www/data-dist/domainS:Bo1]G
bbs.domain.com /usr/local/www/data-dist/bbs
:CXf[g anyname.domain.com /usr/local/www/data-dist/anyname
GUW l [jH pFy1kUG H Ck
以上部分都是:” 域名+空格+绝对路径” 的形式。
3[Go'Wj3m/q6G D9uw
#Zo+QhI-?e d 最后,在你的网站根目录 /usr/local/www/data-dist 下,创建对应目录:
7i|5ge9s/tk domain , bbs , anyname 等等,理论上可以无限。
r jb?M%j
m~-X \U `EZ)z 这样,通过浏览器,访问 [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 目录下的文件。而且,你可以
/v$F/G K T5lOx 随时更改 vhost.map 来增加、删除、修改你的二级域名和所指向的实际路径,不用重启 apache。
?N&Q N$P_.S)XnC ESXK4f VK
第一步:打开apache的配置文件httpd.conf,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#号。
1~oo!S!g.q.y 第二步:打配置文件尾部加上
5C4eE C9M'S RewriteEngine on
9D.B@ l2O RewriteMap lowercase int:tolower
X5P;hqQJO:nx #定义映像文件
pIE7z nb:c RewriteMap vhost txt:/apache/vhost/vhost.map)nk t,q~
#处理变名!@*P.]%R-]"Z~['X\
RewriteCond %{REQUEST_URI} !^/icons/+v-F&a/DO,G#vW E
RewriteCond %{REQUEST_URI} !^/cgi-bin/
,w0v6np z Os/Y e RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
Xm0a1E^G 这里做基于文件的重新映射+x_j0[,x tc X
RewriteCond ${vhost:%1} ^(/.*)$)get:HboR
RewriteRule ^/(.*)$ %1/$1pxdk2BhI
RewriteCond %{REQUEST_URI} ^/cgi-bin/W&gbn$^J ? U r
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$1D5F};c8oXoTR*w
RewriteCond ${vhost:%1} ^(/.*)$ qD/}m'\sZO
RewriteRule ^/(.*)$ %1/cgi-bin/$1
"}5I1pX2m q7y0P8e'v,a"c k8|2l'|"eK
注意:vhost.map文件是域名和空间映像的文件,格式如下: 
~#y9]1c M?&?5?7oA+l!Q [url=http://www.abc.com/][size=2][color=#000033]www.abc.com[/color][/size][/url] /vhostusr/www.abc.com`{4mfIB-ZU b7@"iB
[url=http://www.xyz.com/][size=2][color=#000033]www.xyz.com[/color][/size][/url] /vhostuser/www.xyz.com
u2R(G.u$iF [url=http://www.cccbbbb.net/][size=2][color=#000033]www.cccbbbb.net[/color][/size][/url] /vhostuser/www.ccbbbb.net9p2rV(H~ N
.
)U)s1x)Xh5_AB#^ .
7[ ^?Y(E&d%z .
+q{t4SX .
g5W9jW|HO[ (你不会连/vhostuser/www.abc.com目录也没建吧,会报错的哟)/t Bm&hz&q
第三步:保存配置文件,重启apache。在开设可绑定域名的空间时,只要在vhost.map文件里添加相应记录,并建立相应文件夹就OK了~~~ U9^4gfuN
其实这个可以用php脚本来完成的,很简单的~~呵呵~~~
k?R9kU { 注意啊:php_admin_value open_basedir “path,这个选项要配好啊~~新手如果不懂的,就不要动这个了~
/Xpf"T)H/y ==============================================s)Clefo"d
方法二、
HK%WY6Z*g P"Y
j&@1xqeM?5ktdU+V wI"dD1U E^8V
rewriteengine on
([g0VQh:e] rewritecond %{HTTP_HOST} [^.]+\.域名\.com$
6Jb4\2@7T:E!J.c+r rewriterule ^(.+) %{HTTP_HOST}$1 [C]y x9_ d8k`1_$L
rewriterule ([^.]+)\.域名\.com(.*) /$1$2
+srmkfw 其他配置文件2c M4S3K2J

(j#R YU&m/l;ve4J 接着在DNS中开设一个泛解析到对应的IP地址。
0K3r,Me^c8Jqg 就可以实现下面的方案。
2o!F~;k lz 1[%g"eK:i!hon"X
域名:domain.com
WC3W0J$L^%hJX,_ 绝对路径:/home/domain.com/B0O_x t
[url=http://www.domain.com/][size=2][color=#000033]www.domain.com[/color][/size][/url] 自动解析到 /home/domain.com/www/)} TwX Y%PV
abc.domain.com 自动解析到 /home/domain.com/abc/&I1W`)rI:lr,L6q
等等子域名都可以自动解析到 /home/domains.com/对应子域名名称的文件夹
#{IKyB.cH U@ 直接建立子域名名称的文件夹即可使用。不需重启apache。

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


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