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

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

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

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

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

x

9 C+ m. I8 c& i! {; O7 Z0 Y使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名+ P- A/ j7 g' d- G+ H
5 p2 J' ?- y7 v" }  F8 }" f
1、记事本打开Apache安装目录下conf/httpd.conf
$ x7 P0 S$ B4 ?1 g( m! U3 Z. q注释掉下面四项(删除前面#):
+ n7 U9 x" }; T$ O& F& g% T- wServerAdmin6 t+ b: V7 {6 Z/ d7 I
ServerName* g, d; y  A* m) i5 o$ x5 D+ Q
DocumentRoot2 j+ z) C$ }* Q* J. _4 t
Include conf/extra/httpd-vhosts.conf- o' ^% @& H( h6 m5 l4 u6 f" [

  g% S6 D0 ~; a1 ^- |2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项! `* J8 }  P! f* R& l
<VirtualHost *:80>                              虚拟主机端口! ]" m6 _8 ~! O1 O
  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同  z: j$ c0 W' C
  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录7 o/ M! k! _. }8 b" d2 r$ @' E
  ServerName domain.com                   默认域名,指定设定虚拟主机的UR
7 E- E/ N6 C; {& ]- _& _  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com
. i( g, p# z, q$ u3 ]# @  DirectoryIndex index.html index.htm index.php  网站默认主页
5 h) Q$ P) g% k+ {) u  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设  o+ z7 ~& a( A0 i9 v( V
  CustomLog "logs/domain-access.log" common      虚拟主机访问日志4 ~0 `% W: t, j9 C4 i1 T
    <Directory />
0 {$ i5 |2 @9 A+ K$ f    Options FollowSymLinks! B5 `8 Q1 ~5 Y6 J4 m
    AllowOverride all                         伪静态开关,All允许,None关闭8 ^' b5 f2 Q% i  K$ r
    order allow,deny) g7 Y3 x/ b/ l: T+ w0 |
    Allow from all
$ K' z: k- T( d* N$ T. U( {2 r1 [9 j/ i    </Directory>& A" v* D, v/ A6 a% S, w  R9 q) ^2 E
</VirtualHost>* U1 p7 ?- N% Z* P4 z: g, B

+ ^: ~: w( ~! v% ^0 m% v3、重启Apache即可
& X- R0 L' x5 u# |, |

转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46004-1-1.html 谢谢
沙发
发表于 2017-4-2 16:51 | 只看该作者
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)
4 p& ]! t- I. S" s. e& B; i, w2 N) B
$ }6 i' K& Q# y( [php 伪静态(url rewrite)apache配置+ j0 l# E+ k- v

( M: n7 h7 W- m! }3 D6 w# ]mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!
0 a7 G* j7 t# M
3 N# z; P1 Z/ R7 m! @# P8 J1.检测Apache是否支持mod_rewrite7 p2 H. m. r) \/ Z

( C! @6 r" h( g通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
* }! W7 I/ h' g& i% v; O! p! ?* O8 a! e. H# O9 M% D
如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
$ _- x8 L3 a9 x. |; N9 X, T: [3 D) ^% I
如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。, e; n# e( `  E
; p1 ^7 e5 y) B$ `  j/ F0 G# b
2.让apache服务器支持.htaccess# i4 c# }0 E% E3 V+ G1 U* u# v

4 w2 Y( {$ X7 b0 O. L如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找
) R. r8 |4 s  X! Z& o8 y6 a) l& [9 @% w! Q/ A, I
Options FollowSymLinks* M/ z* P9 f9 f- L3 e% }% p

; P) {  R% P- S3 {$ B" V( D2 C) {AllowOverride None
; M' T9 C- D0 r5 {5 Y4 L' w% p0 w+ t/ ?* L' S. W
改为
+ K3 q6 i0 Z/ Y) k; k& `  n* F+ h- M  e- E; S1 R- h* C3 c" N; c" s
Options FollowSymLinks2 H) ~' ~% w5 l" B4 q0 A! w

3 v1 N* I+ p) i& P; @- YAllowOverride All
, z( l; P8 |7 Z" _4 Z1 x
' C7 r& S4 w( F' U; {, w) M" }; E' n& t就可以了。
/ D  q  L+ u4 H: w: ^2 Q
# z) Y5 Y+ ?- [9 o( C$ h- G$ ?3.建立.htaccess 文件
7 o( F( N$ @% M& K# K
0 K% A+ U2 X0 G  u. X7 _1 O如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:& N, I  J$ I4 S' t" c

! E& S4 S% t6 a' H- F& n9 `% }(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。# _+ e7 y4 u- S1 B

  V( @/ h" p' @. |/ |$ Y& r6 k(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。
) t7 s* ~" u- x/ U
; G$ p, ^* h. y) a(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。
: L/ q. g# `- h* \3 G+ ?3 \
0 G. q8 B. g/ u" f0 e' ]0 L1 _$ ^- F" ?4.rewrite规则学习7 V, T" e8 l% r4 d  F

" j; L) X" R9 w) D5 Z我们新建一个.htaccess文件之后,就在里面写入以下内容:
7 b5 ?( y& _9 ], Q1 \2 H( l! T/ Y* J' l! n3 \0 ?4 S
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
$ x: r7 w5 s5 g' z4 o( H! t0 Y" k! }% l# W3 ~% c
RewriteRule ([0-9]{1,})$index.php?id=$1; K# `% l1 f5 M

+ G# z! `9 B$ l- N3 u7 ?我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!
" Y+ q( F1 @& z* r, s3 O) G$ G2 h  _8 J0 g! n3 o
好吧,现在我们可以实现伪静态页面了,写下一下的规则:
7 F( l$ D5 I! F0 w2 y6 ?/ T
9 A) h! ^# L5 C! Z  p9 d1 a<IfModule mod_rewrite.c>- ^' @& E& ]* C9 K; q
' E- I6 G0 `! z* u9 j2 U* S' K
RewriteEngine on; O) K" d" o# w3 D1 M/ }
8 e7 z* A7 J- L4 g6 b' b
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2. C* E- s( w7 s0 n6 W* J& w
# r0 H0 ^7 P, s) v+ V$ j6 V
</IfModule>
* o4 E5 h! g- v
$ Q9 I0 {( O4 f, E+ U+ w1 I1 j
; w+ q& F! F  N([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!5 a7 u5 E6 A" j/ Y! c( q
" [! n6 \; P9 b
我们写一个处理的PHP脚本:9 ]  s+ D+ w: e5 N, p% v1 ~8 m

  U% o1 C5 f+ G& W5 M: pindex.php
. p5 a0 N+ a8 }+ ?! L* y  u1 l/ m( A! B! k/ C: S7 N4 C5 j; z
PHP代码5 o: i3 h! h9 x; D& [
<?php
: w5 p1 V$ d6 Fecho ‘你的Action是:’ . $_GET['action'];5 y  q' o) Q$ F, M
echo ‘<br/>’;
% s% s1 \) i5 u. b* O* Gecho ‘你的ID是:’ . $_GET['id'];: N2 C6 e* Q1 a
?>
3 S, s: g  f7 G2 x" n* j好了,我们现在在浏览器中输入:  F& p5 p2 c" I- @4 z

  Q# W+ w* m6 V9 |+ t- ^9 ?  zlocalhost/view-12.html
/ b1 q& d( j1 @9 c' O! v  |
2 Q+ B( W3 f" Z$ v) E0 A3 M( T输出的是:9 I$ j/ }2 H; H9 R: q! X: b$ r

" R# v5 d: t; Z0 D你的Action是:view% H. x. m, ~1 w
1 ^% [7 g2 N' X. {- P$ w9 r
你的ID是:12
) p4 p" |7 ]6 N/ A8 F3 l% e9 q: E7 y

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

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

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

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