点标签看更多好帖
开启左侧

[学习借鉴] Apache配置虚拟服务器基本设置ZT

[复制链接] 1
回复
3627
查看
打印 上一主题 下一主题
楼主
跳转到指定楼层
发表于 2017-4-2 14:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
1 v3 D8 R4 F  N; T% n* K5 j+ {
使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名
7 Z; b/ a, V# ~
, U2 Y. B& H- s' a1、记事本打开Apache安装目录下conf/httpd.conf( L4 h) ]" K0 F/ x; L) h
注释掉下面四项(删除前面#):1 ~# v' }9 [- A% C
ServerAdmin9 a' n: \' }% W( k  G# ]4 @6 ^
ServerName
# D$ z6 P* b. |DocumentRoot# b0 h9 L0 h  A' _/ ^. h. x" T/ a) p
Include conf/extra/httpd-vhosts.conf
9 E% n7 x% D- }$ V5 t% |
( g' X5 }& ]5 `- y6 q# `9 t, d2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项" H; [6 y5 @# \* K! Y% g
<VirtualHost *:80>                              虚拟主机端口9 C  U9 o  w' n3 o
  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同  o) \& o$ I9 L( ?- I
  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录
1 Z6 ?* n* d4 P) b( r2 r+ Y5 Z, d  ServerName domain.com                   默认域名,指定设定虚拟主机的UR# ~+ K6 ~% `! a- u
  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com
; k( E, ~3 n' c; q  DirectoryIndex index.html index.htm index.php  网站默认主页% g. z" [3 b6 k8 C* T$ c" K
  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设
$ z, t& M! N7 Z% M7 q2 h  CustomLog "logs/domain-access.log" common      虚拟主机访问日志' K2 z& j% B. o+ u. i
    <Directory />6 c( K( ?+ o/ K- {7 t
    Options FollowSymLinks
' d5 `  V* j- P    AllowOverride all                         伪静态开关,All允许,None关闭
8 y/ v4 `' u+ T, v1 I8 X6 A    order allow,deny2 G! w) G" y! Q" k, H! v
    Allow from all
) f: D, l. J8 w8 j  b7 K    </Directory>! M3 v3 s) k8 j2 D8 B/ b! Z/ E
</VirtualHost>
: F9 K; U& j! s2 `3 Z; i0 N; W  w8 o
3、重启Apache即可3 B5 I& f  n2 Q5 f6 I4 w


转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46004-1-1.html 谢谢
沙发
发表于 2017-4-2 16:51 | 只看该作者
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)
5 M5 h. p- c- B  Y$ ~+ A; S/ _* }+ R8 F* e0 \# p  P
php 伪静态(url rewrite)apache配置
. _! Z( I4 P, F% j% X
% x; ]% V& h7 X! T/ e8 h- M" Dmod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!" m8 a; o% K- O0 m
/ a- Y  S- j$ w: y
1.检测Apache是否支持mod_rewrite  Y: C. l& L4 V: A6 y

" O8 d- g9 f" l. A5 ~- g, D6 A通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
8 N3 P% T& X$ J$ E( k
7 r: z. U# Q4 T" E如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。4 c) v1 t/ @% X8 ]* |* w; C

6 \# ^) X- z6 ?5 i* x' j6 b% E如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
' C  E5 k" X, b- A. G. q0 h# ]8 f" q) {; W9 R( x- m9 e
2.让apache服务器支持.htaccess8 M1 O4 [, P( B9 k! u1 N: ]: g

  ]0 P2 W! ~) L8 P7 {如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找
/ [! w3 x/ x9 x1 h( e$ h; I. l$ \
Options FollowSymLinks9 H& S$ e7 o+ c) r4 y+ }8 W
& M7 b7 d8 V6 t* w, k& Z* b* p
AllowOverride None  P/ {" a8 S/ P6 X# M$ Y
: M$ Y& H7 h& F) }  y8 {  [. Z
改为* M' F  c! [% [7 B! e

- w* L) j& ?3 u6 }) AOptions FollowSymLinks
/ Q% B  p2 P+ \, s$ X7 S) j2 K9 u/ T8 [6 o6 B7 F
AllowOverride All: m7 x/ Q7 X1 R2 E: y( p7 f+ x

2 \8 H3 Z" f! p5 @" s% Y就可以了。: F) T, ?# Q4 B+ {+ |5 z8 z) u
9 P1 K1 n  u% j7 D3 k
3.建立.htaccess 文件4 P- X! C* B) q7 c# A5 k

6 K2 E& J4 J) ]3 B; s2 v如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:1 G+ ^7 d) O" B6 T2 B1 h

1 D$ m7 Q) ^- p' y(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。
# h5 s' }! ?0 R( n
8 r; d) R* Q+ C$ O' f9 ^3 x/ \5 q(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。
; ~. l" A) E9 b* [4 J) ~
  b2 v+ b  J; y% K0 H9 B(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。! J# i! c# Q+ n+ ~
# M3 U+ h1 V- k; L% [# C
4.rewrite规则学习* C/ Q0 ~. _7 y* K. a% D$ M

$ I1 F  ^0 }" z3 ~/ K我们新建一个.htaccess文件之后,就在里面写入以下内容:
8 J2 z; M. S/ S; z( y  U
8 k2 P/ n8 N, S5 V! q' ERewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
) Z4 t% ^/ y& H6 `# A1 u
1 o0 x2 _# m2 x( W. A+ [+ V! [  [RewriteRule ([0-9]{1,})$index.php?id=$1
, m0 g" f5 Y+ ?. k9 `9 G7 p4 @
( @! n, D! l8 \+ D1 S  J我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!
( K+ i/ E6 N1 p, {2 D6 r  I+ C5 O* Z5 i5 ?% H3 b/ Z
好吧,现在我们可以实现伪静态页面了,写下一下的规则:. O; n) Z: N& K4 }7 b. U* m' X
; E0 b6 e  g/ s* Z
<IfModule mod_rewrite.c>
( Z/ o9 G+ t7 S5 L1 f# z5 B) v% z# ]$ H- y
RewriteEngine on
1 v8 {( W3 }* x- n. X
8 M  O5 J: {) N# J4 H& gRewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2. e# I9 l* W  ~, X: r
# T$ P; C0 e) ]( e5 N8 A; C7 w/ n- m
</IfModule>- S% L- O6 o) K& p% P& ?, ^
& F% ~/ b" Y- i/ f/ m
! F& ?6 Y9 x4 z" m6 w
([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!
' l) l+ g" O% o% S1 k
  F5 w1 }/ N' e0 o# z我们写一个处理的PHP脚本:
0 @+ t& l8 ^/ V/ m, e6 U  [  X
0 B, C1 `# k" ]# K6 _9 m7 s0 _index.php
# \& O- z: L7 P  P, l, o, ?( ~2 c6 e
PHP代码
7 a; l$ S- _: x* D6 D2 s<?php8 o* [$ o& f: _: j
echo ‘你的Action是:’ . $_GET['action'];- z2 l* K7 I, B: j& L
echo ‘<br/>’;
  @; m/ a; M7 A$ o6 recho ‘你的ID是:’ . $_GET['id'];
1 `" S" z4 k6 H! U% N1 G. r1 S) G?>. d, a% @9 c7 T3 |
好了,我们现在在浏览器中输入:" y7 X) ]% C5 ?0 ^. R4 F( D
8 O( v* T6 ]  R& {2 `$ Z. l2 A  K. b
localhost/view-12.html7 x8 ^9 E( q% i

+ f' R+ c9 m$ Z输出的是:
. p2 h8 x% q9 L. h- E
3 w$ V6 I7 h+ n你的Action是:view: m4 q9 |* [) ?, b' U

3 g) t" z" I0 l你的ID是:122 k. z( T# b  E1 `# N
$ `; j  u: d. R- G/ Q9 B

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表