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

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

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

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

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

x
" e2 S( L# V$ B0 N
使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名
* R$ u: S$ C! \
/ M# x3 R. U) v$ t0 m) ]1、记事本打开Apache安装目录下conf/httpd.conf
8 _( `# n! s' D# h注释掉下面四项(删除前面#):! [( D0 B# O0 v2 F
ServerAdmin
9 b( h3 K& x* x; Z* j! [5 H$ c% yServerName2 {" R, \% a" S6 D# @  O
DocumentRoot
4 o- e/ b2 L4 W& _8 RInclude conf/extra/httpd-vhosts.conf* |3 ~. h+ w$ H! }; m2 ?& d$ w
5 q* Z9 ~( T" y$ t5 P  J4 N
2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项4 C! b! W7 K- w: d# T# d
<VirtualHost *:80>                              虚拟主机端口
/ p! B8 u- F6 i  V  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同
8 g. h3 `# u/ N% |  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录
, e0 p- j1 V3 ]0 u$ h" I4 D  ServerName domain.com                   默认域名,指定设定虚拟主机的UR
. N: B  ]( P  E& L5 X8 T6 \  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com3 B( k7 q+ H+ n. g, N
  DirectoryIndex index.html index.htm index.php  网站默认主页
3 w( u! |: A5 [  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设
; G% h: G& D) o$ b& R5 w) q" _9 g  CustomLog "logs/domain-access.log" common      虚拟主机访问日志
# S6 }+ q) E8 x5 i* a  f    <Directory />
5 [! M0 J% q: {: k; E5 K0 Z    Options FollowSymLinks. B* X2 Y! a: x
    AllowOverride all                         伪静态开关,All允许,None关闭
8 u3 R: U' P) ~0 l# D8 W  ~" q- V    order allow,deny
! R8 _9 f3 H* [* i  O: \9 s    Allow from all
* _) e+ u8 J1 S& _9 @    </Directory>! y. U. J' A! [: }* I8 T1 C2 g
</VirtualHost>
& v9 T- q; X: r! V( @( ~* {% x7 G8 ]
3、重启Apache即可$ J8 Y4 r8 K: {


转载请保留当前帖子的链接: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 A0 u! W7 S- h
' s+ m( N  R: X: y" q  q  pphp 伪静态(url rewrite)apache配置- L, }8 f7 J! M/ X1 c9 t
8 T* v2 z0 z; n
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!' x0 l; ?; X- A, Y0 T3 a0 X4 p
0 ~8 d( F9 p, ]9 R
1.检测Apache是否支持mod_rewrite
1 i; o5 v$ ]! o2 K# c& N( H4 i: w- \/ Y  n
通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
$ M/ }5 N( F6 x% _: p7 Z
6 l6 C5 y. S: C如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。- a; l, ~" I! y, Q: e; g& }
4 t% e0 g, s* S7 p
如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
( p( G. `% C7 O4 q
  U' [7 w$ j1 [  Q6 f4 G9 `2.让apache服务器支持.htaccess* \/ M3 s; z& {2 b/ O4 K2 X
" S4 f' `  }7 U3 o1 m
如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找2 N6 f' ^9 g; W, V/ m

6 h2 K" R2 x8 A7 z; m6 g. kOptions FollowSymLinks
0 z/ H4 k0 A% S) L7 J! O# o3 ~# I6 p) D* \* j
AllowOverride None9 W1 m( W7 U% b( |
- D& h* W, L2 J  L3 _# E7 G
改为
5 `7 D4 V2 e" ~! q& F
/ l$ ~0 z5 F* L3 S4 oOptions FollowSymLinks4 m& ~) {$ d5 n$ N. E

/ d7 R1 X3 z, i2 N% B5 ?AllowOverride All& @. ^! @% {0 U; h6 ~+ z
  P( U0 D! l; h* ^. W# n$ W
就可以了。
  j: V0 K$ u; M4 s" R. i
0 G1 c6 V) q2 j& h0 ]# E) s9 ]3.建立.htaccess 文件9 R& b% U' m0 P- j& r5 H  k; a5 Y$ y8 v
: J3 C4 _; a; Z6 a/ l- E4 c
如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:
' K  V  m1 J% H: U* H. _
9 {: d  |" i1 S: X, L# ?1 |  R(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。9 s  l* A" T; N; o( Y0 U3 h
9 \5 @* F: p+ W% j
(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。
1 V& e& l( p/ f& f. g3 g& O! [, q" I; W; _5 z1 |* ~7 n$ _5 r
(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。9 c: c, Q( Y3 V
* Q* }  D- j! d3 [
4.rewrite规则学习0 x, k6 R4 K- ~, C& s" U

- b* j0 Q4 w  E4 t. t& ^/ x我们新建一个.htaccess文件之后,就在里面写入以下内容:( \9 N$ j4 o, k( M+ Q( I7 e
  w/ E  @( l; I
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭  G2 |- a* o& w5 a4 k2 R8 |

) L4 F) e8 O" |* E1 iRewriteRule ([0-9]{1,})$index.php?id=$1& X) ~) q$ s; _9 V9 B. K' d5 L
" F# f0 q" O4 o, }0 L
我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!
5 Y& ?* Q" x# h, n0 E
; J% W; r; F6 h1 P好吧,现在我们可以实现伪静态页面了,写下一下的规则:6 Z& @  Z) [! n. b$ T7 o! ]

& [6 S* [  P( P) k<IfModule mod_rewrite.c>. A7 _* j* Q& a) k

: ^% g3 ?: M* T; U1 F1 NRewriteEngine on$ F2 Z; U7 m0 D+ L( a, S. M

1 V5 {) d$ _( b7 @' pRewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2% F+ E" m; c5 f8 D2 {

6 c; s; W; x1 Z! l</IfModule>
( D, ^- f) l* e* Z
, p) l6 b' Y3 ?, J7 m/ O
4 m% P6 e, h+ m0 H6 ?, h; ~([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!& O# y: ?  W" |! c5 J7 y4 k9 y
8 H  D: i/ t" q$ G
我们写一个处理的PHP脚本:( r: i+ P5 L  c3 i
, {( z% `# \; w; P1 X
index.php  V7 y4 I* b( X7 x& b" \

: m6 }$ Y5 C  L; p0 DPHP代码
: E, o) X" M; V' w0 E/ Y' [<?php: }6 @' n3 M3 \: p: u3 M
echo ‘你的Action是:’ . $_GET['action'];8 i" p# v3 ]* O6 A3 i3 Y
echo ‘<br/>’;
2 Z: M( ]3 f; a: |( oecho ‘你的ID是:’ . $_GET['id'];8 L9 ~. P: H% c4 M* Z0 \1 f
?>
* @( ]  ^3 Z. P6 u+ O好了,我们现在在浏览器中输入:1 b6 f( E1 w9 W5 d

# v7 G0 \( Z' L& Jlocalhost/view-12.html7 M4 N2 ~& S4 `5 w+ ^6 q3 R9 V

& Z* `+ h" E9 a3 A输出的是:
. d& [0 g+ p2 g) ^. ^( r$ p& k' F2 g
9 I, o: v6 O% w' _3 f* U9 w( Z+ P& K你的Action是:view
2 p* N7 U8 [: b; q8 f- C
/ q  e. r( v+ Y6 Z( f+ @8 T3 n你的ID是:126 W6 ]6 p4 L' }) T- C9 M

8 a$ ~1 J. X9 G. F, k# L

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

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

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

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