|
  
- UID
- 1
- 帖子
- 738
- 精华
- 28
- 积分
- 14443
- 金币
- 2507
- 威望
- 1647
- 贡献
- 1455
|
独立主机Apache 配置二级域名
首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com其次,在 httpd.conf 中打开 mod_rewrite之后,在 httpd.conf 的最后,添加以下内容:
3 Q- C2 S: K" L, d
5 b, C0 f5 Q; t: G) kRewriteEngine on
) U: A6 D, R- r, P' @1 v7 S+ Y# X9 zRewriteMap lowercase int:tolower
' G: @- ?+ X4 m& d$ U% B1 ^RewriteMap vhost txt:/usr/local/etc/apache/vhost.map7 V) n2 Y7 X$ t! a$ y8 r+ ]
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$% Q0 m! { ?% p; |% |
RewriteCond ${vhost:%1} ^(/.*)$. T3 @- B, g- O1 U
RewriteRule ^/(.*)$ %1/$16 A% L, h! f( R/ d6 s; G
3 Q& S# o! G. I* \+ P( {& j
* D9 V; z& A, _ G7 @4 A* H9 I
其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改。- a. G) v" w- d7 e4 v
然后,在这个所在路径的目录下创建一个文件: vhost.map
& M& |) W# I& X1 S内容为:
# Z2 y' F5 y5 X! R c! r" }
% F% l7 d8 U- c/ X4 u7 N6 z0 Awww.domain.com /usr/local/www/data-dist/domain
2 ?* R* {3 B. o" N3 l# l# fbbs.domain.com /usr/local/www/data-dist/bbs* A& Z% h& h- s L$ j7 M6 b
anyname.domain.com /usr/local/www/data-dist/anyname
8 |4 i& s3 Z" H+ F* L/ w. J. {/ s/ K$ o+ R' S9 N! D
以上部分都是:” 域名+空格+绝对路径” 的形式。. y0 ]2 G8 |, ?: U$ R* s
5 [' h: h/ N$ _ U/ I4 m
最后,在你的网站根目录 /usr/local/www/data-dist 下,创建对应目录:
1 a7 Z4 ?! {( P2 E+ Kdomain , bbs , anyname 等等,理论上可以无限。& ] B+ o! {5 a$ x4 E: ]8 @0 N9 f! Y' K
+ S U& B% H! U
这样,通过浏览器,访问 www.domain.com 时,实际上访问的就是 /usr/local/www/data-dist/domain目录下的文件。同理,访问 bbs.domain.com 实际上访问的就是 /usr/local/www/data-dist/bbs 目录下的文件。而且,你可以2 {% ?/ m' v1 ~' v% N& x
随时更改 vhost.map 来增加、删除、修改你的二级域名和所指向的实际路径,不用重启 apache。
) _" h0 ^/ x. m7 ~0 ?& B* D. e( b* Y
第一步:打开apache的配置文件httpd.conf,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#号。
) ]" g0 p- U, a) H1 E! v W" r H第二步:打配置文件尾部加上
* |: p: U2 n& G: |* lRewriteEngine on# F2 e( ^& P. {7 l- W6 h* H1 h
RewriteMap lowercase int:tolower' B4 m" B0 P% v6 R
#定义映像文件 N& t* T, f& s# p! Z
RewriteMap vhost txt:/apache/vhost/vhost.map
; e* o d* O& u3 a' M) s- ?#处理变名! ~! Q0 t" E; C3 t
RewriteCond %{REQUEST_URI} !^/icons/
# z4 Y! p/ a. ~9 P' ARewriteCond %{REQUEST_URI} !^/cgi-bin/
' n" Q$ f/ u! ^; Q* r. h7 j$ J) gRewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$4 S7 ]1 Q* v' D* e
这里做基于文件的重新映射
7 O! q' k+ J5 K- CRewriteCond ${vhost:%1} ^(/.*)$$ b) [; g8 A3 y0 a4 f
RewriteRule ^/(.*)$ %1/$1( R6 L0 |9 ~) K3 K/ g O3 R
RewriteCond %{REQUEST_URI} ^/cgi-bin/
* U3 F* O' v" fRewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
& E& h& @9 b3 c6 ^( i$ E aRewriteCond ${vhost:%1} ^(/.*)$
5 s; F- C! s/ [! ]. l5 n5 J. n. vRewriteRule ^/(.*)$ %1/cgi-bin/$1
# a0 p q/ I ^: w& f7 r9 a2 J
/ e' O& }" |. u1 V6 J注意:vhost.map文件是域名和空间映像的文件,格式如下:
, {/ c3 f4 [0 K/ e4 h1 Mwww.abc.com /vhostusr/www.abc.com" Z7 r! Y, ^3 H- ], o5 z& C' @4 U8 W
www.xyz.com /vhostuser/www.xyz.com
6 k' Q$ c* I9 l4 s0 Gwww.cccbbbb.net /vhostuser/www.ccbbbb.net# L; E1 L$ J+ r+ @) L( |9 v; a
.
* `+ u+ c: K' K- A% y' ^! s.
; V! E# p) S2 K! E" D5 g5 C) {.( I( [' w1 u. y+ u
.% t$ @- r2 G1 x/ n0 Z$ }8 a! L
(你不会连/vhostuser/www.abc.com目录也没建吧,会报错的哟)9 b8 B9 [4 R2 [. U- ^3 o6 p
第三步:保存配置文件,重启apache。在开设可绑定域名的空间时,只要在vhost.map文件里添加相应记录,并建立相应文件夹就OK了~~~: z7 V# u+ M' r" L# \% N
其实这个可以用php脚本来完成的,很简单的~~呵呵~~~" d9 l0 ]! n. ?8 ^! Y- P
注意啊:php_admin_value open_basedir “path,这个选项要配好啊~~新手如果不懂的,就不要动这个了~
& a8 `& m. Y' `0 u9 Q6 }==============================================' w$ S2 C% m1 }$ Q: X" _! w
方法二、
! x1 f+ ?( D9 ?$ E4 J- K6 }) s. C: r/ n% {% o# ^" |3 o8 w0 M
: m: J7 Y0 k9 Q. \4 o7 jrewriteengine on
# r- I" X! i" ~; c0 rrewritecond %{HTTP_HOST} [^.]+\.域名\.com$' R8 y7 O" |$ T& T/ O' X) y' [7 L
rewriterule ^(.+) %{HTTP_HOST}$1 [C]) x2 k s9 h! Z7 V# ^- M
rewriterule ([^.]+)\.域名\.com(.*) /$1$2
3 W& S! I4 d* L0 L: z4 J* j其他配置文件
& C, B: o8 S1 g9 N
9 l, \$ X3 `4 a% d8 ?6 t1 w/ Q, R接着在DNS中开设一个泛解析到对应的IP地址。$ Z; n" B( a0 S6 p' u% a' ^3 \
就可以实现下面的方案。. A3 O) i6 a1 h6 }
% G9 k* X, b% q! A
域名:domain.com
3 ~3 l( {5 G* V绝对路径:/home/domain.com/* H# d+ R8 ^* T$ Y* ^) E! I/ k& u
www.domain.com 自动解析到 /home/domain.com/www/
9 q; t! b7 Y6 b3 Kabc.domain.com 自动解析到 /home/domain.com/abc/
( @/ i3 `9 @+ V等等子域名都可以自动解析到 /home/domains.com/对应子域名名称的文件夹
, i* J7 c) ^! w直接建立子域名名称的文件夹即可使用。不需重启apache。 |
|