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

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

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

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

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

x
' [. E' O! K& {% D: T. s
使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名
! B* f7 t3 ]' x3 ^' f# f
. u" q+ s, k* q1 l) d' {7 Q1、记事本打开Apache安装目录下conf/httpd.conf4 f) d2 E6 L% A9 z! M/ x' {# G$ O
注释掉下面四项(删除前面#):. M, X$ W: j- h* d. v/ \
ServerAdmin$ ^; D5 `5 N) `( ?$ X
ServerName$ }! o8 \- A- ^( t
DocumentRoot$ i) v: E$ i4 Y: `1 D. |  L- p
Include conf/extra/httpd-vhosts.conf
% f& {7 z2 M( y9 A. b& x- C/ @8 }% I9 H$ Y$ b
2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项
7 h4 p' ^! R8 _  J% C( k  M<VirtualHost *:80>                              虚拟主机端口
9 r% p3 j- Y/ V  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同
5 ^" L+ ?. B) q3 d  S  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录& C0 @7 o" r* G# ^9 m
  ServerName domain.com                   默认域名,指定设定虚拟主机的UR
% e$ A; L! |; Q' X  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com  M% |* _" o7 H
  DirectoryIndex index.html index.htm index.php  网站默认主页
, j& K. S0 ?& l  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设
; y) k; {5 o" d1 D3 r  CustomLog "logs/domain-access.log" common      虚拟主机访问日志
$ Y9 @2 D' N5 `1 s9 V    <Directory />
% o" M" `4 @2 |( P    Options FollowSymLinks1 ]+ e' p, L7 X4 J7 k% |
    AllowOverride all                         伪静态开关,All允许,None关闭
, C' x, k* [* I, O0 `$ z$ W    order allow,deny. D0 }/ `: _! K" U" {; S- I
    Allow from all
* u3 s. T/ O9 [3 A! c7 ~) l/ [    </Directory>
5 M- l# m* L& [! I</VirtualHost>6 {+ [, E! d: @$ P! F

+ s$ F5 r/ `# _3、重启Apache即可8 d4 s- R4 d8 |  |8 k  J


转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46004-1-1.html 谢谢
沙发
发表于 2017-4-2 16:51 | 只看该作者
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)7 S$ Q/ |9 I5 }! L
% h+ n6 G. l" U) D. X6 f
php 伪静态(url rewrite)apache配置# D" s1 E; L( l# y- i
% B; ?& j; d2 ]' n) Q5 v5 }
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!0 r4 G7 E4 N0 C. _; Z
* I8 H% v2 O. ~3 G5 t, r" Y" `9 m  F
1.检测Apache是否支持mod_rewrite  o) Y+ l# S- C; H) s( [

) `9 H. S0 d* n" c  ?9 N2 A' r+ Y通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
$ G( p6 t" D9 m: _# b# g! E; G. _" E$ H
如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。6 u+ t7 Q6 x8 m$ J# l  O

1 Y# F3 Y' `0 q* D* a/ _如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
5 j# ~5 g9 ~. f9 M4 `
2 E, [: E( _0 d" K$ s9 R5 m. G2.让apache服务器支持.htaccess! S! t2 o( _) G5 g3 v' h% ?
" E$ {/ R/ U; d* q$ ]
如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找
5 v: I- Y0 ]- p: ~' ^$ b& o) p$ Q
$ p' A. J1 Q; G7 s, k$ TOptions FollowSymLinks5 ?9 \. t/ U6 O% D* _& J  r
, t& v$ o( S8 P5 ?
AllowOverride None' U8 q. R. u( ^8 C4 D9 N/ n

+ \; _0 p6 Q. W# S( {改为
; q0 t/ m# T  X$ h) N$ @
  a2 h  @/ e, Q0 U. N* H! y/ iOptions FollowSymLinks
6 w" w* w5 k0 S/ z1 s3 b
2 m# o4 z  l) @6 ~. ~' h! Q- \AllowOverride All
* A# f7 X. V- K/ B4 Z) e9 u# d+ B4 A( |& M, a, X
就可以了。
) w% w3 \, F. D& W; I4 C1 W9 A+ Y0 |- p. O# l6 s
3.建立.htaccess 文件
$ y, @" ?7 c5 R6 x; `
* n1 J  n. }7 v如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:
; ^1 E! l3 h: K% n% u
& a# B; z& }: I, {. w2 a* E/ k(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。; ~/ d7 v" Q* L( H

. V4 q+ }4 f* Y/ D% w/ @(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。
0 E! p; {' S' y: e; E* s/ {
0 o4 ]( \) b4 I* \0 G(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。
9 T7 b7 H' c% U2 x) Z8 q1 }5 k; l0 _0 A' K+ [8 z3 Z+ D1 y
4.rewrite规则学习, W. `5 r% T: {$ ?4 _1 v

% G) H% w. _; H- i% P1 J( p我们新建一个.htaccess文件之后,就在里面写入以下内容:
9 [) T8 k& _5 ]1 O3 u) D! K0 O1 m! T- w: v3 Q( U) f, x
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
- C: m5 w4 F, D5 y) B: C0 d1 o1 ]( Y% |& M. B
RewriteRule ([0-9]{1,})$index.php?id=$1- L* q" M! g. [" r1 N9 a7 U

7 ~, e8 S( t, G' c& K我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!3 W2 t$ {3 L6 C1 B& @( z5 Z8 [) C
; G% q( L  M& o4 {  ~% y% [
好吧,现在我们可以实现伪静态页面了,写下一下的规则:7 C( A0 n  n2 w5 N

5 [3 o. e2 ]) Y- O# M% I) D<IfModule mod_rewrite.c>
+ ?4 b& X, r, f) A5 B
% o( e- L6 z$ _/ wRewriteEngine on
0 M1 m  p# {7 }/ h. V5 D
8 w3 l/ @! K  ]" qRewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2$ h' R! I* R. |1 W

( @5 h3 x4 P( |# ?: |9 J</IfModule>
& J- k, p' u. o/ O- ~
7 W7 f# M' B4 L- W% H
3 F, `( K  {3 K' C([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!4 q7 E* V" `* x9 l! N
( P: a/ _. Y& p: T7 k
我们写一个处理的PHP脚本:
2 j" E3 h' o' E; F1 d# k0 \" e$ p# a
index.php8 d# t+ T: w) j$ h% G/ A

6 C4 H7 F% D9 Q& h, n7 ^PHP代码
6 g% O# I' j4 H6 L<?php' T& v$ X& G6 M! X9 n) f4 |
echo ‘你的Action是:’ . $_GET['action'];
7 n4 R9 N2 i* Y+ `echo ‘<br/>’;
: z0 O: L+ f7 W8 necho ‘你的ID是:’ . $_GET['id'];* f( [) \6 j# W; Z7 Z+ o
?>0 T1 h, B3 |5 K  m$ A% g4 T
好了,我们现在在浏览器中输入:% l, v$ V6 m) A7 X0 M$ ]3 U! |3 _  r
% \3 C8 y- p4 f  @4 ]' [2 W- z9 }
localhost/view-12.html# j% f+ `6 }4 B8 ?  ]$ T
6 |; e/ J; i( \7 V
输出的是:
& P8 W3 U" \; h+ H5 v/ D( D2 G0 R# f! t3 \2 ]: Q' K2 S5 {# W
你的Action是:view
& u  C& v+ F$ X* I4 I! v8 j* p0 ?3 u! l0 a% U/ x, K, |4 X
你的ID是:12
$ k4 f4 X8 x! I1 S2 U4 W
7 s" v/ B. c. O  _  i$ s% A0 w

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

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

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

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