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

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

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

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

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

x

; F  w% R6 ^( `/ Z% ^  ^& L使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名
7 O! N% t0 d" q* m' y) M5 O1 y( q& r4 y
1、记事本打开Apache安装目录下conf/httpd.conf4 |3 \& N# h1 u7 s( V
注释掉下面四项(删除前面#):% J. a3 O: T" b2 O- b% {# Q
ServerAdmin$ x' l3 q- q) s' n) ]
ServerName# z6 I$ k5 a" U9 F% S
DocumentRoot
' q5 T  q9 E9 k# _5 EInclude conf/extra/httpd-vhosts.conf
* Q9 ]% |2 U) \; C# \  v, R% L% @* P' b8 t* D# j0 D" a
2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项( A( W7 }8 H( j5 J/ V
<VirtualHost *:80>                              虚拟主机端口
& m0 ]2 p0 i% C  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同
0 q' T! m: M: F( L) |  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录: s% N& X( f5 v+ X
  ServerName domain.com                   默认域名,指定设定虚拟主机的UR  V3 D# }& U2 C( m- o
  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com, B6 ?/ y0 v% y  K1 L3 H% @
  DirectoryIndex index.html index.htm index.php  网站默认主页8 U# ^' P+ a7 m* t( t% H+ H
  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设
$ p6 a3 X8 K( D  CustomLog "logs/domain-access.log" common      虚拟主机访问日志
/ {, H) {0 R  n& K( Z. H    <Directory />6 u% P5 g* S- D( d# z& m
    Options FollowSymLinks
0 B: ]- S3 ^# Y; G. ?4 N    AllowOverride all                         伪静态开关,All允许,None关闭
" \9 x0 {; X  q    order allow,deny
. ~. S  X) \6 H) v! O6 i, k$ m    Allow from all! g. C: N, ?! v, B  C. Y! Z
    </Directory>
" x7 _! R& m9 L</VirtualHost>
( N4 `# ?5 B& q$ ?& c
0 ]% F$ H) M8 U8 D  W3、重启Apache即可) U% \1 r" |$ i, 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/)
- ^& D: p  E* x$ h( C" J& b8 K- C0 w
php 伪静态(url rewrite)apache配置9 l1 Y& n+ o! l$ V

" R7 C9 v0 W2 a* vmod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!6 b1 ]7 K9 v  f% u
: ]* V  U8 z3 r  T, P$ l9 H7 f
1.检测Apache是否支持mod_rewrite
  |9 [1 M$ b7 u( e  h5 q
2 ^8 L! `" P' R4 W4 @  w& ^+ U通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。. D) _( E. i0 }3 c1 t1 w
  Y2 M, q! _( H
如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
+ c  v6 J9 |9 E$ d! ~2 u; G
% k3 v$ [- H( e$ N7 Z7 [1 s1 S如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。) j4 q# m( h% X( ^$ U  J* }
) K- X( i# h+ F
2.让apache服务器支持.htaccess
% G+ @1 l% K+ p& S2 _! `5 Z. ]4 o( ^1 b3 y& g* \
如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找. W  G! v2 g) h4 V

. J1 @  d2 D: S0 L/ BOptions FollowSymLinks9 u# V- f' H) P1 l3 b- R# e9 e
, M+ T  r0 c9 T+ U1 v6 d& W1 k/ M
AllowOverride None
( O8 a- r0 B+ p8 u" ?2 U- n4 V, M- p
改为
6 n- S: P+ x3 d" E; V& v0 j* L  H+ W4 Q
, Z0 ^  y) v2 y5 `+ w& yOptions FollowSymLinks& F. R7 j! ]9 x9 x6 o
: `7 M6 U5 V, J- y$ J+ T
AllowOverride All
! B: f$ b# H! k6 @3 }1 ^8 s) z2 @# ~# F% f# X
就可以了。
8 y2 {! _7 S1 q3 C3 k5 L" ^
1 `  _& g/ g! \5 i2 B3.建立.htaccess 文件
" d$ f) d  ~$ b. a6 J9 K* G/ K5 z8 q5 S/ C2 E! ?: c( `1 h
如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:, Q2 g* ?$ F  K- C) _: R

2 }. v$ d; R2 x  J* V( u( Q(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。  [2 a1 x7 x/ u- y
% K8 U8 d$ ^% T2 A  `
(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。
  c% q% F; T: O+ ^3 e6 E  B% A) F) v7 O
(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。
6 r8 ^& \3 U; ^; ?; x
8 q" J+ x7 r- R, @8 \3 L# A% W5 ]( n6 F4.rewrite规则学习$ ?: r. r! X: h
) T+ e7 W2 s/ F9 M; ?2 c
我们新建一个.htaccess文件之后,就在里面写入以下内容:5 T6 d7 v# D& @7 C8 J3 V/ H
0 {8 j) {0 K3 S- k. f
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
. C1 t1 Y: C$ a6 A
/ U) h; |3 n! I0 R5 B7 \+ }8 xRewriteRule ([0-9]{1,})$index.php?id=$1
% {% p# x, M% S( s+ `# ?" o- ^9 H" W) h. y7 L$ {+ I* q( Y' j
我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!5 X. X* ]( |1 a

8 F# S- A8 S7 y! ]$ \' {8 Q6 Z3 T4 ^好吧,现在我们可以实现伪静态页面了,写下一下的规则:( U7 N$ h* z& x% \# ~

  I  c. s8 f- L( j( {$ k2 f<IfModule mod_rewrite.c>* D+ w' Q/ s5 m
; t: W; e5 d& ^* D! P" C
RewriteEngine on8 S, C: d$ e3 D, M2 L# @

5 ]! b/ K3 t# H4 Q0 J) v5 C/ CRewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2$ G+ F! F3 ^  r3 A
% [, D" n# s' v8 O% a
</IfModule>& j- {  I$ L1 y
0 |% _- s4 {: s2 L+ B8 l
7 l, D; Q/ B# B  o5 N
([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!
( X+ h" y) q6 i, p9 F6 C# X0 Z5 x/ V1 y# @- z. I- _
我们写一个处理的PHP脚本:- m; ^: |# d- x
# F) `% |- U0 t& `) L9 Z( j
index.php
: [: J% S) ~+ i2 ~2 Y/ `: \7 q6 h8 _/ \# i4 F1 f- g
PHP代码
5 Y6 `6 O7 i, }. C2 ^<?php
& J) d$ S& \$ [- |! ^echo ‘你的Action是:’ . $_GET['action'];1 e8 z% H- ]+ V8 p$ E9 M
echo ‘<br/>’;
3 K) K: m3 h; |% J: d8 i# m1 k# z6 Uecho ‘你的ID是:’ . $_GET['id'];9 ?+ R6 ^% u( I2 P$ B4 \* t
?>5 g. w8 b9 D* H4 A) j1 a
好了,我们现在在浏览器中输入:0 {  `; [8 A( \/ v' v" h

5 q8 x7 v5 e0 ^. C  G" D9 i* K$ g9 ?localhost/view-12.html
( u* m8 Z2 ~4 a  c
; v) {& {  T8 q) e* z' ^- Z输出的是:
" F  w1 W8 Q% l0 ^% s
- I9 s( g, x/ f" w/ J+ L4 _# y你的Action是:view: N7 Y: g6 t' {$ S  U# C7 \' j
& O4 m' t6 w+ Z0 b' s, W
你的ID是:12' J3 J9 l9 `+ @3 u) a& v
5 P, S2 S1 b$ K0 [# [2 ]

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

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

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

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