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

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

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

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

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

x

; l4 g" l7 z  R6 J) |) W使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名
% x  o0 P/ b  D5 R- W) Z5 t; L, i1 H
1、记事本打开Apache安装目录下conf/httpd.conf+ |7 N  f  N+ a7 P
注释掉下面四项(删除前面#):5 w  |8 k' S9 K3 |
ServerAdmin
0 ]! f# H  ?# p; C5 K9 a) A* G% Y( m4 |ServerName7 c3 |, a2 T- R0 A- {* |8 U8 b
DocumentRoot- `5 E. z. {9 {4 \. {+ g7 ~0 i' u+ l
Include conf/extra/httpd-vhosts.conf2 s2 m# P  Z6 `; S

2 X0 I2 D) X4 I' i! `2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项
: ^' @& l: G/ _1 o<VirtualHost *:80>                              虚拟主机端口, q9 K8 [/ ?. F/ \4 J% q- u
  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同
3 V1 @: f# `5 L6 ~# R% ]  U& U  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录
  D: e% A+ x8 I' B) e3 H" ^  ServerName domain.com                   默认域名,指定设定虚拟主机的UR/ Q) ^+ M6 V% ]5 s9 ~# W/ ]8 ~2 Q
  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com
; v, U& s" |8 \4 j  R0 D  DirectoryIndex index.html index.htm index.php  网站默认主页" X( B7 k: w5 h' i/ Q5 ~- w
  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设& N) c; e9 K) G+ _& x
  CustomLog "logs/domain-access.log" common      虚拟主机访问日志
, R' e& G' q7 ~- C" j4 d" F3 y    <Directory />
3 N3 M" E$ G# X/ p$ X: j6 X    Options FollowSymLinks( I" J+ t6 o& c/ J' D" i8 W
    AllowOverride all                         伪静态开关,All允许,None关闭& M! A6 n, I: Q& y
    order allow,deny" ~9 ~6 ^! C3 o. s/ h
    Allow from all! ^+ u9 b4 r# a$ L
    </Directory>- R3 [+ g/ q) H
</VirtualHost>
( O/ Q8 I- X( c+ g- i' w
# b+ P3 D6 j4 W0 J7 V6 B+ e; J3、重启Apache即可; V  a) ?7 H" d* a4 j, F8 c; s4 Z


转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46004-1-1.html 谢谢
沙发
发表于 2017-4-2 16:51 | 只看该作者
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)/ Z" L. P& ]2 X+ v! J% d

) R8 }" h8 X/ s1 @4 R! Nphp 伪静态(url rewrite)apache配置
; O+ [% a3 }5 t& x# H0 T$ `$ ~% e2 M2 T/ ]3 \& n
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!
+ X! P. ^5 ?1 M
" w. w  ^. ?1 ]+ ]1.检测Apache是否支持mod_rewrite. \% X# r( ?6 w2 t; {% W( J3 n8 j

$ a( h, {# F( ?  ^8 T, Z2 j通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。! C; T9 I' o; }) w

& x2 m6 R8 f) s4 W+ _2 B7 W如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
: P' @: h. ]/ U& q5 `
' M+ P& D. R" b! C# J如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
  ~" d  D8 ~' R  a8 `3 a1 q, z- v* {" m# ?' ^9 D
2.让apache服务器支持.htaccess
: g6 C  `) z( e+ D( v
3 Y- s: i8 b6 l4 z如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找2 S5 s* v- L9 C+ A, t% I0 I

; f) V4 z% [. P7 C: {/ x1 r  QOptions FollowSymLinks! {& G2 J9 c. n" v( s7 {8 j( K

2 K. a% f6 J1 N! a7 h4 {AllowOverride None
! r3 B/ Z5 ]/ y8 e/ Q+ Z2 i' l9 @! p' f3 x, q6 _9 l, k$ N2 ]
改为! J6 E# i6 M* f. A8 F5 H
) v" b) l) z& n  S  U4 d2 P- r  ]
Options FollowSymLinks
9 v& w; u6 C* V7 F6 x% W! l4 E3 |5 b7 G
AllowOverride All5 _6 ^( i- n* q, W& S
2 `& z( v: `3 y
就可以了。
' z: [% a6 b  i: O, ^9 D2 u9 S$ F- ^
3.建立.htaccess 文件  F9 _5 d2 t; v' a0 Z* w2 o
: D1 Y$ _3 n/ Y# y$ d6 n/ \
如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:
' Z. z% @2 U/ }( Q9 T6 X. Y& ?6 h4 u1 y! @- U
(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。8 W4 `3 o# f" n. }4 F

' I; K5 i# k( n(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。
7 x( R. j2 k# d  t
6 Y, N, z/ b- b! h7 {(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。
4 A6 j" a2 P4 _9 m8 j" G) {/ w3 W' g; e: [! @3 Z! y: t
4.rewrite规则学习; U* Q1 J0 m3 M5 y! a  R5 F

: g* J+ y: D9 N% v6 X% O我们新建一个.htaccess文件之后,就在里面写入以下内容:  \: l5 s. o+ V4 X. s3 _

# g0 r1 W# n2 j/ h$ O/ i+ @; XRewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
, \  e( \- R: O* M6 V$ j, _; I/ Z
8 X( b1 n# |/ v' B& ZRewriteRule ([0-9]{1,})$index.php?id=$1
. P! O1 F; {/ L# _# ?& E% o: S  L) T- `2 z6 p
我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!9 u+ e" q8 p1 }/ m4 i6 c
: \* w# J( S# h6 C
好吧,现在我们可以实现伪静态页面了,写下一下的规则:' i0 l7 U" Y; j+ ]2 e

8 w# N' W- U( y* D<IfModule mod_rewrite.c>
( n, `( w" f- ^: H  O( ]9 r, n
) a0 s! J6 q0 NRewriteEngine on
. _: X9 \8 s2 R, f& b) l. @# K3 o% M7 |, M1 C
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2
9 }- O" T6 J" p; s5 ^# Q. c
; x8 A9 @" e2 i8 }) J</IfModule>
) S1 W9 ]/ W( G0 {5 M
6 A% i  @* c8 C1 Y) T8 E1 g
, y# d. y2 a6 P0 J([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!
2 f; ^$ R1 c( K8 }: M/ P3 n* R5 M* I1 V( @
我们写一个处理的PHP脚本:5 i! i3 |! D) P$ @1 I8 b# e5 x. L
9 `# @) r0 z# h  w; W
index.php
6 R! O+ _! x1 M! J0 R, `* r, u+ F8 k% r. f/ I2 M1 K- D
PHP代码, d/ B7 n$ C' m7 b& s% L+ ^
<?php
* ?- E+ l, S$ M0 c& g9 Cecho ‘你的Action是:’ . $_GET['action'];
2 e' P+ W5 |- i% \; ]: @echo ‘<br/>’;' M2 J* @/ ?' Z; ]: D1 ^4 c
echo ‘你的ID是:’ . $_GET['id'];
/ h, l& d( h6 o) L?>
. ~3 ^- p. n& V1 D7 |+ E. I好了,我们现在在浏览器中输入:
8 @# Q, C+ W) i: R) T4 b" q1 x- y) ^  S
localhost/view-12.html
% ~7 y  C1 L3 q. [1 z, i' n' A: f" d6 t$ b! _* d/ w
输出的是:
/ g8 D7 b( f) W  @, v
' }( t( g7 D3 j3 C( d你的Action是:view/ s8 [5 V( q: @8 k0 V  N
/ ~* C! ~/ l, m% a. a
你的ID是:12# k3 |6 J- t* K8 ^0 p, k! |
# D8 Q# Q/ h% `* }

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

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

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

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