北美网备份站

标题: Apache配置虚拟服务器基本设置ZT [打印本页]

作者: 北美生活网    时间: 2017-4-2 14:41
标题: Apache配置虚拟服务器基本设置ZT
, f0 R/ g2 ^  @5 T1 A. X2 g  j: u
使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名
6 m( Z; T/ O; v4 h4 @+ Z; M6 `  V% H6 W* a+ o
1、记事本打开Apache安装目录下conf/httpd.conf
: G, t6 f; w+ a/ H注释掉下面四项(删除前面#):  B0 n, s. \( r' K# J# h
ServerAdmin
0 G5 I9 P0 Z# z" s. u' eServerName; z1 A5 e- W- J: X, I" @
DocumentRoot
% c5 r2 q" t8 {% A: Q3 mInclude conf/extra/httpd-vhosts.conf. g( \, g7 P3 I+ L  `
" G7 A; I1 @, Y! ~  a: ~. ]
2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项
& I1 F% z; i5 E# N1 T" z<VirtualHost *:80>                              虚拟主机端口
& _2 ]. g$ B! p4 A  r+ w  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同
5 |5 O6 B( Y4 b4 I  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录! v) d: U1 x$ j7 E5 y( x' Y! ]
  ServerName domain.com                   默认域名,指定设定虚拟主机的UR" A5 B) b& D: X+ `3 t& b! X
  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com
0 S& g8 Z9 H9 j1 q2 \, a  DirectoryIndex index.html index.htm index.php  网站默认主页
" ^# r. b% x! X; p* w4 H  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设8 [# p& Z3 p8 P
  CustomLog "logs/domain-access.log" common      虚拟主机访问日志1 h8 {  H9 k$ O
    <Directory />8 b! a$ X! t. P- [9 Y, e8 ~) Q
    Options FollowSymLinks
# h& X+ g" p1 z, I" y  g    AllowOverride all                         伪静态开关,All允许,None关闭6 [7 q1 b4 J4 W  r  E
    order allow,deny) V# i, `; H7 @1 O$ e* `# z, h
    Allow from all2 d. }. o- M+ G1 l/ n9 K
    </Directory>$ q) X) @; t6 u! X2 J
</VirtualHost>
! V2 V( ?1 [/ Y( u# r0 T9 o0 z& ]  }8 Z* H6 Y& A
3、重启Apache即可
! t' q& E% A. @  _
作者: 北美生活网    时间: 2017-4-2 16:51
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)- j/ Z/ [* Q. T  h3 P

/ z: Z# \$ y) b; G+ cphp 伪静态(url rewrite)apache配置
" o! p4 o) V; r# K
" C6 L% x4 H" i! P* D) g$ |mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!4 L2 P& D/ }  h# c3 H# Z

& |' C# w: b6 [. w$ n* G1.检测Apache是否支持mod_rewrite
6 q$ t: [7 ~; s2 n) T! K. s9 n* U* n: s6 d
通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。% |5 q. }! ]6 ?7 q" G4 B

* @  ^1 |* E' G' u: h4 |1 p2 t) e如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。* {; W) L) A' b6 l# b8 f' z4 E. A

: d* C: `2 a4 O# {6 m如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。9 D$ t# W. [0 d- {  ~
3 k5 A6 O( J8 l: S- a3 I
2.让apache服务器支持.htaccess4 d% H0 x: C& k  |- F0 `2 n7 m
4 n# z3 n: B7 n$ \
如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找
" O9 Q* |- J! Z$ m; Y" B# z4 V' b$ o# K( S1 s
Options FollowSymLinks7 M! V9 m' w; f0 e

7 P. U  c' o7 ^) N# q: FAllowOverride None; X. l2 {7 H% H5 q1 G8 T
, N& q6 {+ [. U- p2 z0 w) l9 U
改为  G; O" P4 c9 T# Z
& ^- M! y- t% B" |
Options FollowSymLinks
+ V" r: [% p$ N6 H
" s9 @* q) X! e( }' n: T  g$ W! SAllowOverride All, U0 A. q1 @0 c  z9 K

7 W6 w( M: @0 M2 j" g就可以了。. c; {% f! R; A9 z( j
! b" g3 I' @9 w8 Q
3.建立.htaccess 文件
7 S: j1 D" Y3 g5 Q' t( _( s  P8 l% ?/ {% p
如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:) r' A6 R4 b# y5 I! l
) c5 e1 t5 z6 m
(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。
' t- y8 J! w. K3 ?3 B- f
( e# g: G& O( v) _7 `(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。
  F- W3 J; W% Q9 F4 a( a# T- i4 S' N6 b3 a( n
(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。
# ^3 D  C* w2 X7 J2 i. V2 {2 H7 C/ y7 a2 k/ _7 k+ i8 j
4.rewrite规则学习7 m5 ^5 u! G- N* f

; {6 B0 T2 Q# C+ p9 J' K我们新建一个.htaccess文件之后,就在里面写入以下内容:
5 k' r6 T" P9 d7 [3 t( w8 _8 O3 m9 c3 C
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭5 |/ j" Q+ l: D$ _; R+ {7 u
% f1 O* x# x* z! t; K% c0 A
RewriteRule ([0-9]{1,})$index.php?id=$1
' T5 ~3 Z- Q! o) K1 A0 J
( L: w# y/ P. T: V8 ]我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!
* ]* N0 H3 w) U
+ O! J& ~/ f- ]1 ]; i: Q2 ?5 h" I好吧,现在我们可以实现伪静态页面了,写下一下的规则:
2 }8 g7 {6 j; J5 B
9 j1 ^5 S  a2 {* n# @1 X, B<IfModule mod_rewrite.c>; D* I2 Q. p9 N2 }: x
1 P  f3 @7 O, K3 }' W: ^/ P
RewriteEngine on
5 C) D' w. f% Y/ c# U6 H- N/ J- @; ]# G
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2
5 S* m' Z& O& }- n0 e! T
. b8 [. d" ~4 @& L3 Y# Q7 Z* T</IfModule>2 a+ A6 P1 I0 s5 X- s1 i* K$ N9 ^0 {
7 g$ x/ `4 K# J( p+ p
7 D$ a" a! m8 v3 m" x6 b$ i
([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!
: J5 F( s1 P/ h! D
  v5 k7 R) t2 n: L) C+ F" X4 `5 K# r我们写一个处理的PHP脚本:& a( r! z) V- M$ e# n0 Z

$ u. L2 ~* p+ h) A, H- J( `8 l; `. U! Sindex.php. N. [5 j1 g0 L3 K
/ E4 y8 b; E# [% W" h
PHP代码' _. f$ T1 v! M# I  Q% l
<?php) b& @8 V1 u: Q& E( O' m
echo ‘你的Action是:’ . $_GET['action'];9 x. v- m% f0 {. c
echo ‘<br/>’;- w4 {6 a8 |/ Y1 q/ R" N
echo ‘你的ID是:’ . $_GET['id'];
, X9 q( n+ a0 V+ _?>
2 x$ {8 y4 H' M* A6 \/ [好了,我们现在在浏览器中输入:
3 ?3 ]3 k6 B& q* Q$ L" \* K* ^! D& G# w$ z1 |; m8 p
localhost/view-12.html
# w$ }! J. _8 F3 g& x
  k- [, S' T7 i% J$ A7 |. B输出的是:
7 S& T, X) ]' {2 m- x* R% v% K& I
你的Action是:view5 l  x5 P2 `; Y8 u' r. L
6 ^: W3 j9 s- K+ X% L* N
你的ID是:123 Y7 P: T( l* g% X9 L

# M9 A, w0 t- v( X9 y- G3 T8 t% ]




欢迎光临 北美网备份站 (http://beimeilife.duckdns.org/) Powered by Discuz! X3.2