北美网备份站

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

作者: 北美生活网    时间: 2017-4-2 14:41
标题: Apache配置虚拟服务器基本设置ZT

3 ^! t  S% H$ R" D5 v使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名
( @9 B4 V/ t1 P/ B( E) R1 R1 O% b* F: q2 |& N
1、记事本打开Apache安装目录下conf/httpd.conf" f. }8 c( Z* w$ H  P9 Y! L3 o* A" [
注释掉下面四项(删除前面#):. B' Q  Z$ g8 l4 L' Q+ ]6 ?
ServerAdmin5 V! a+ X: Q# h1 i; X( p
ServerName- O% ?( e" k+ M9 a$ {1 S+ i
DocumentRoot2 T! \! a4 z' ^& i5 ^0 X" l7 I
Include conf/extra/httpd-vhosts.conf
: f# Y! b1 [" L" ]; M1 E8 n% d, Y' A% `6 Q- f0 L
2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项' c% ?1 M  Y* M
<VirtualHost *:80>                              虚拟主机端口  R- @! d# |3 a$ v0 v
  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同
" r. B" R8 S" T% K3 G- I8 d  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录0 `& t8 E0 j# E( V* R
  ServerName domain.com                   默认域名,指定设定虚拟主机的UR. s+ l( S7 k. `' b( M1 s
  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com
/ z% T- `/ B! V$ k  DirectoryIndex index.html index.htm index.php  网站默认主页
5 V+ r: W( Q* h0 g5 g  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设
! ~" R1 P* I' R3 ~8 ]7 |+ N% I  CustomLog "logs/domain-access.log" common      虚拟主机访问日志4 E5 M3 B) l$ S7 i4 K. Z2 e
    <Directory />
- O/ v/ d7 n& Q- l    Options FollowSymLinks
6 w. Q5 E0 g* A- i( {    AllowOverride all                         伪静态开关,All允许,None关闭
  z5 Z# o0 |4 M# S3 S    order allow,deny
5 q; U; ~# x. y    Allow from all
# Y& G0 R8 Z  U+ J2 G1 B; ?0 j# q    </Directory>% h7 K+ L+ `" J$ X0 R
</VirtualHost>* |. h+ I3 X) f. i

# v' w3 a' ^; ?/ w- r3、重启Apache即可) T9 Q; {) y; n; t) e( g: N8 [8 O5 y

作者: 北美生活网    时间: 2017-4-2 16:51
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)) N/ j- a- t* O3 `

- Z- c, u5 R5 _- g7 q" Y% kphp 伪静态(url rewrite)apache配置
+ d+ Q( U; P' c7 j$ Z
# v/ M7 z; s1 B8 B' f: h! Pmod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!
' G% i" }& z7 u/ I9 b9 J; y& G/ D5 s
1.检测Apache是否支持mod_rewrite4 Q8 g/ [5 I: F/ n) S# ~$ N# {% V0 N
; F' A" d2 x3 e, C
通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
- b& r4 o4 W8 X5 A7 W+ K* v* I6 Z
& x& v: [% p' c  x如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。- ]# Q/ E* [2 F+ z; w

' l, ^3 }: }% t3 M2 T. o" q' f如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。4 J0 S/ a, X3 Y& E

  O* y* g, F; P. U0 K2.让apache服务器支持.htaccess4 `3 q5 F! p  {# w/ o, A

; j8 F8 A2 N# {* \$ A如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找
$ P3 x% K- R; I# l4 ?  U
! w2 j2 o* \% y; uOptions FollowSymLinks
1 {. `: L5 c, u+ n3 p% N5 g* I- o( G  }# g
AllowOverride None
+ V# d  N: _! y2 Y& @
. [  i, d# L3 J  V0 i1 V改为
0 x+ y) O5 d, H/ J, V) D! J; N
% R3 [3 F6 @4 C2 T$ N* g: {% e* yOptions FollowSymLinks0 f1 |: }6 u- }* ]7 P7 _

0 m+ r/ S, x  ^2 i. I  ]: bAllowOverride All
* m$ J- t) y- K0 \
# X" D+ q7 i) T0 a8 ?就可以了。+ L( ]" z% U  F& K

/ P, f# _/ {. T! z3.建立.htaccess 文件
$ b0 V$ h- w) d1 p1 g# N
; n/ `+ F8 X/ P. A4 R* ?4 Q, N; B5 U如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:
% L) }& b# @: N; e% b! O! k! y$ e# I% n6 j7 f! U* U/ |
(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。9 l+ |8 H( |* b4 `; C* `
; \& X8 l8 \9 K2 ~
(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。
: t4 l8 I: `3 H4 u5 A* ?; n% ]* N$ X
0 W: d  P  m2 [' t(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。
. b! R  e; E6 S- K3 M! z! c
4 b: R* l% o0 T' u6 i. k& i$ U4.rewrite规则学习6 P2 y" G+ }' z9 O" {; t
- Y/ c0 J, P: w
我们新建一个.htaccess文件之后,就在里面写入以下内容:
0 }! E9 W0 h5 k0 S3 N. e/ H- w9 W% c- X# t3 P5 l3 |
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
  X, E, e: o6 R% i# X: ~* C8 E& M/ l
RewriteRule ([0-9]{1,})$index.php?id=$1
6 g- j, [/ f& ^0 g# y
6 W1 R. ?1 i; y我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!4 H1 c+ O6 t! }

; a- ]6 w+ J3 Z! x好吧,现在我们可以实现伪静态页面了,写下一下的规则:
2 h3 g3 G: K6 d1 S& K
% n8 h7 |* f: I6 u( o<IfModule mod_rewrite.c>$ G& W! K' d% ]( T' N/ g) e
8 |4 ~5 o1 N1 S- r. h& P& _
RewriteEngine on- l  Y# h) `' W( a2 x
$ j* J$ n! r# V  J9 K
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2! a! W. M- n) V0 N$ B
1 s5 }: f0 Z3 W3 r! o: ~% @
</IfModule>
  U# E& |$ @( V- }" `: I; p% s8 N: _2 t- z

) i" p, b5 @2 E! [4 e7 F  a, ]([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!
7 I& O. m& B+ I! O- p2 a# z1 }' v
! W, l1 l) q% Q  R/ \3 h( S* P我们写一个处理的PHP脚本:; E) v4 R' ]' ~6 {
' `( m1 q+ {0 ~; w
index.php
: G1 `% y) n0 e: c4 ^9 d. B8 j" B2 L& j* ]
PHP代码% y% {2 J# v) V/ ]# @; ]! a. _3 w' N
<?php
: v( N; v, s6 \- ~, Recho ‘你的Action是:’ . $_GET['action'];
  I& U" A$ @; v3 F0 Y- secho ‘<br/>’;
5 J' h0 d+ ]& P. t( techo ‘你的ID是:’ . $_GET['id'];) D% n9 O- v  h: Q: f  C% e
?>
& H" W5 d4 U8 {! M好了,我们现在在浏览器中输入:- v, V6 ]" P/ J, o" }
$ H$ d/ Z8 m3 x3 D: k
localhost/view-12.html3 m" V' b) s+ V$ u5 |/ Z6 k3 f
, O  J/ A" k* ^2 r9 g
输出的是:
( j* D( g) R( u" e: f9 n3 E: k
你的Action是:view* N( U& |; \% l8 ~) z

6 \% ]! N* t" V. K. T2 C. y2 q你的ID是:12
0 c& _" f8 I) S) e( i2 A
$ O# ?$ j# o  |8 i2 H




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