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

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

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

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

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

x
9 w% Y5 N# k' [: z) q& s; l' v
使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名
2 h' i! z0 Q4 V" O& |( m8 {0 V3 d/ z1 O" i  `
1、记事本打开Apache安装目录下conf/httpd.conf
4 c9 z. u9 I, j5 Z- q注释掉下面四项(删除前面#):
* j1 G/ l; X" {+ I6 MServerAdmin
$ j7 v( P9 i0 A& C6 H3 u+ hServerName
# p9 s* Y/ [2 C* d2 \DocumentRoot
- s" Y5 |  p4 |+ p$ R- |$ PInclude conf/extra/httpd-vhosts.conf
' Z( a" t& ]* e, x/ M
0 h" {* o. b) H0 y8 S2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项
0 D$ M5 k: |2 [8 M. N& K<VirtualHost *:80>                              虚拟主机端口" Y8 ~. c& W2 P7 J% j6 M
  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同8 d0 G  _! K: b6 Y. h. o& h
  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录( I' T' z8 M  P& J
  ServerName domain.com                   默认域名,指定设定虚拟主机的UR! h1 \  X3 w; E. j% s/ r
  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com2 _; c* _$ a# Z7 W. }
  DirectoryIndex index.html index.htm index.php  网站默认主页
6 W9 [* K4 m6 S' v$ ~' _6 ]" L& f  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设
# Q, l5 k& }0 L& ]2 o3 V  CustomLog "logs/domain-access.log" common      虚拟主机访问日志
" n! m' m4 ~" ]( X' _! Y    <Directory />
. b/ `, w; e6 F9 u& ~: z- F7 P    Options FollowSymLinks( l0 W  O/ C* d; Z9 X( Q: V
    AllowOverride all                         伪静态开关,All允许,None关闭
# q: b, I- F# s& \( q6 p! Y    order allow,deny
' j  i/ N5 ?+ {- O; \3 S    Allow from all
$ {" p! k/ T" \& u) t% Z2 Q    </Directory>4 D" U$ K, K' V- A1 Y' Q
</VirtualHost>
- X; _; {+ I; m6 y) A: m& `+ _; c8 e/ x! P8 f4 D, S
3、重启Apache即可. @  M0 O, X7 A# [" q8 I) I2 a2 S


转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46004-1-1.html 谢谢
沙发
发表于 2017-4-2 16:51 | 只看该作者
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)9 e( F) W# D1 p

' Q2 l  l: M8 I0 Z; Kphp 伪静态(url rewrite)apache配置
, }3 V1 n: |) e; K# ]! t/ S6 M5 B9 a$ l7 S8 x
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!% i" ?  m& p2 u- V3 Y5 a) D6 B

2 c8 {3 i; e! v2 N2 T- [6 H4 p1.检测Apache是否支持mod_rewrite" W- o5 ?" y* r; t- G) I; y
" d  q7 ^9 W! c6 e, B+ Y
通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
: B$ R8 p0 A2 z- q& ?# J" @
6 M5 M5 y6 b1 }如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。) V) D0 X- U# c$ _

$ F) j' u$ j! Z" C如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
# E8 x' {2 v, G- s# ~5 I2 |& v; Q/ B% ]
2.让apache服务器支持.htaccess
) C( Y; L* z0 T9 h2 A' I% {7 l, h
" d( n( W4 q5 _! H如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找' s1 e% k, |# ]( N- Y+ X

* L/ N# `8 Q( z0 q! ZOptions FollowSymLinks
0 G0 q" m5 C2 V) u' V4 x! J# U& s1 k( w- j* [
AllowOverride None
' B. y4 L! L5 m+ b! q! m
# ?1 \9 z% ~& [5 R& @% _: W; e改为7 ~; O. b+ m6 l$ h

: g* ]! q8 r6 ?: P  VOptions FollowSymLinks% u, D+ L* U9 R  w
3 |1 ^" V7 p4 }) z6 e- N+ @
AllowOverride All
7 _' N+ a5 s3 |# b% _" o4 \
5 j9 F, q$ m9 w' h就可以了。
! H% H. a) ^5 H3 ^% z# f) l
: o  f5 |2 _+ I! ?0 }8 R3.建立.htaccess 文件' _1 J) b  Q1 Y; n1 v

+ G' u6 f  l- y3 m如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:3 a/ G6 [3 m4 Z0 Z5 ^

# v! u' x; \# O( Y3 Z4 u& y( Z(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。
% M# h1 I! y  _( Y4 c; N2 r! ^, i, l' Z3 l; n% g" H6 x1 B6 z5 q4 e
(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。8 G" o# r9 J  P4 X' J* _; b

# N1 l+ W  T% p8 O(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。# M+ e3 d( d& C2 @  L5 H# W" s

, e) M- \6 ~6 {9 k, ^4.rewrite规则学习/ J! H8 ^3 ^) w4 N; u
8 `0 t, ?* s- h* O2 p% P3 u* e. ]
我们新建一个.htaccess文件之后,就在里面写入以下内容:. E( Z! m* r) J  t. Z( X

8 i) b9 v2 H) G0 oRewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭" _1 k/ m; q9 ?# x- t/ |0 G
/ i) ?9 J& R  t: @- i* p4 U
RewriteRule ([0-9]{1,})$index.php?id=$1# u) c% r: g/ E- t% l

4 f% y. B9 _* A3 G! T7 _' E我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!% O7 b% K3 p4 A6 t4 w
4 e& Q1 A! z& v( }- q$ [! Y
好吧,现在我们可以实现伪静态页面了,写下一下的规则:2 h7 v, \8 A' I3 ~
' A& e7 v1 z: _9 Q# O, G
<IfModule mod_rewrite.c>
. g( o0 Z% j4 p: U. D: H! n+ J" P, a5 k, Z  E5 A, M
RewriteEngine on* x8 }" E3 ~% j& o, h" q/ o. J

% _, `! j' }+ _2 E1 I5 HRewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2
& n6 D5 t( I+ P/ }4 C) u+ b! F/ e4 K3 h7 k& {; G$ x
</IfModule>
, @! ], i" N- }; l) S' h6 W" Q# e" z) N
$ n  ^6 J9 v2 R4 u4 H& M
([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!# [, @) y3 A% ?6 [- ^" w

& @5 v2 X# T4 ~: F) q! Y# _我们写一个处理的PHP脚本:: E$ o+ |! l4 Z" |, [4 y3 Y( G

& Y0 k  K: U# \  T) K: dindex.php! p. Z6 N' Y7 B) x" |6 A
7 D, c' }& S# t  }# _
PHP代码
6 d& i) g8 I2 G4 ]3 h" B3 x<?php) j' h; I& t; Z3 w4 n
echo ‘你的Action是:’ . $_GET['action'];- J/ h, [3 x4 t  C. G7 C4 @
echo ‘<br/>’;
6 b* {! ~9 L' |# L8 I- B9 R, y0 t8 hecho ‘你的ID是:’ . $_GET['id'];( ?& L/ }& N& R, c% O6 x1 N' `
?>4 B/ R  j* {* {2 ~" `6 `
好了,我们现在在浏览器中输入:7 f2 r8 Q. h! l6 [9 {- u; g7 \5 p
  U/ f! o- \4 e' Z% B9 W, c! T2 _
localhost/view-12.html
* {( B0 v& P$ U1 c6 I6 p: A" i4 \8 W( X) l8 g
输出的是:5 u6 g0 G$ l  X9 P& F/ g, p8 h

3 @: ]* M8 ]  h# Q9 @2 v0 z+ F你的Action是:view5 c8 D* B/ Z, i

  d0 {5 B. M* Y, m4 e/ M( K/ R, u3 o你的ID是:12$ [3 V1 r& R, A7 `9 ^8 U: ^' F
: u! Y; M1 K9 n" f

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

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

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

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