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

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

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

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

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

x
: Y. R% U% l4 R6 v, ?! r
使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名
2 P" \  O5 B" P: r1 s2 U  A" X  l" Y  s8 V0 _3 l/ D! R# J+ w+ Q
1、记事本打开Apache安装目录下conf/httpd.conf& ?6 T9 J5 ?6 U7 h, h* q+ F
注释掉下面四项(删除前面#):
) F$ |2 K9 X* A  ?# z* zServerAdmin4 s* k" h4 j9 K! [
ServerName
& V6 @1 @/ v2 [' G  ?# JDocumentRoot
  Q+ C5 E- {1 N! A% Y/ _' AInclude conf/extra/httpd-vhosts.conf
* D: Y" g# ?/ r! {/ l% N8 P
& g7 c2 r& Z# D( P2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项% f1 Z+ {4 u# {' K5 \& m) {1 P
<VirtualHost *:80>                              虚拟主机端口
$ h" i9 V2 k& l; ^' G' w! C: f1 }  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同
1 ~( }4 Q6 \% r  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录
+ J3 K9 m( C& q; N, F  ServerName domain.com                   默认域名,指定设定虚拟主机的UR
6 b5 s" _2 j4 z; W# _+ q  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com
( P2 X3 @0 v/ H8 P$ e1 D  DirectoryIndex index.html index.htm index.php  网站默认主页
, ~6 X' B9 s  z: ~- T) {  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设, w# Y. U* C& l+ T* h4 l
  CustomLog "logs/domain-access.log" common      虚拟主机访问日志
$ [! C$ I3 c7 z- k3 R    <Directory />
3 l. Q5 J  t6 p. e/ `    Options FollowSymLinks
0 _+ k: q% h; }$ S* ]    AllowOverride all                         伪静态开关,All允许,None关闭
& W* T/ [7 y) K- y* U    order allow,deny" r6 }# W. _9 \' i+ T
    Allow from all
& G- R8 Q" v- M- m    </Directory>
6 f9 H# |. c6 v" p</VirtualHost>7 z- {9 A$ ~4 I7 W% y0 L- i
* w/ A3 p8 e$ h2 @- L. i5 Y9 y
3、重启Apache即可
% j. F8 s2 `. Y" `1 n2 C

转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46004-1-1.html 谢谢
沙发
发表于 2017-4-2 16:51 | 只看该作者
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)
/ i. }: v- x7 @" C
. p1 e7 K3 s% _3 Nphp 伪静态(url rewrite)apache配置3 r8 S! ^5 @* h
! T( N3 d: T4 |: W6 e
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!( L* K& t  e/ e3 f3 g* x0 `) B

6 a) O7 t4 N8 E; P( D0 I% [& R1.检测Apache是否支持mod_rewrite# L1 r- F% I/ C5 {: J( x

! m4 R- d0 Y# G通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。( ^9 }: f2 f8 _+ o  `0 f' c) Y

  o* j! y- [- |& R" J% i如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
1 h2 f% q! l7 Y) g9 ?3 [; p0 [2 L( x; q* V
如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
+ d4 R$ v" _1 a+ \; O* x
1 }' v5 ]4 |, b( _3 ?$ R% Y5 ?2.让apache服务器支持.htaccess: i# W& y9 I/ S3 o

) \8 @7 c8 |  I9 j如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找& R0 `+ L8 j6 G: O3 @2 g
: D1 Y: t& g* \
Options FollowSymLinks
9 }# T- p1 h" {( c& v9 d
% [8 j( I- Z; W- dAllowOverride None
4 u* }+ N- ^; S0 n$ J$ E  C) P% s" s3 w' C
改为% k( Q0 e+ m5 E4 C* g4 ~) V  c
% m5 s! e; C) B5 y; {- J- m
Options FollowSymLinks
0 ]. p! H6 q% `, ~7 i7 X
5 r# w( h# A7 u" {AllowOverride All
5 n( J9 Q9 a. s7 S) g1 w  X& m; q+ v) M0 B/ _6 p# H# H
就可以了。
) j: r# e5 k) P, F9 E2 o7 e% f, N& G
3.建立.htaccess 文件
" Q' j0 q' X/ G8 i" f- G( \  E/ L  e1 G! H' a+ D7 x+ W' Z
如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:- Y- K' y3 R! o$ p: m. s3 M! Z' F
  R  v) Y/ n6 E
(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。
' O& s6 w8 w" O8 a# X; k0 t1 g4 x5 m2 z$ `$ e! ^
(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。( ^/ w3 l; s  D/ ~* m. L- U+ x2 \
1 j4 r4 l/ f% f# }- H! f
(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。4 v% J. b- |% R& o. J) ~' {

6 C4 o4 y$ E" B/ t3 ?2 C4.rewrite规则学习& Y& L  h% J% U/ L5 }
. I- q4 l/ I! F  w+ h
我们新建一个.htaccess文件之后,就在里面写入以下内容:0 v: p: \+ z. P* X
$ w5 f& b7 _' K% V
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭! k( J8 ]) G  ^! v5 ^; z

9 m5 g( \; t# C; `' \4 D8 I8 ^+ S) \RewriteRule ([0-9]{1,})$index.php?id=$1- W4 h, i0 k- q6 h! o+ b
8 V; F' ]" P" z* S; s( b5 C" k
我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!
& w" \6 ^# D, B. v, a8 X
7 ?, x$ p  g, d/ i好吧,现在我们可以实现伪静态页面了,写下一下的规则:
) Q1 }; i% \0 h
' ~5 ^0 c1 Z+ j& t<IfModule mod_rewrite.c>5 u7 s& ~; d2 c* s" V% G$ q; f
4 _  O0 m  A  W/ L$ |. A
RewriteEngine on% S+ @, r. B$ o& Y( w

, J1 A5 H% Y8 T: ?+ u0 T6 A, N. _RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2
4 s* ~7 u2 I/ C& C
) Z, ^7 v2 x4 l! H3 A% b6 i+ D& o</IfModule>
/ |6 P1 y0 J, B$ x7 z
4 p2 M2 ]  w5 k7 D2 R4 I% I: Q
" p: G7 w; F# o! V# _6 ]([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!
+ A2 ]8 h5 Y/ |' }  M& d5 U$ V( B1 J3 Q1 D4 J- u1 U5 H1 N+ f3 v8 n4 i
我们写一个处理的PHP脚本:
# g" v4 P- E" B# U( f% g9 K& e6 l$ [$ {1 V# V( F# R
index.php
0 \, X9 |  V2 `
! q7 B) o4 d, K$ J. a  ?1 sPHP代码, p% |: k; a. r5 E1 W$ b0 a3 B
<?php6 `+ n+ E4 O+ y. @  X, s8 k$ T
echo ‘你的Action是:’ . $_GET['action'];
1 S% U$ \7 O* C. u0 G; V0 Uecho ‘<br/>’;
# J  {* r) c8 J) O3 Techo ‘你的ID是:’ . $_GET['id'];
" \$ P, z& C1 ]. Y3 K?>
5 n* w4 U4 R5 t. {好了,我们现在在浏览器中输入:
  P1 A; r* M, ?' M7 R6 O5 X# [* R3 U) @. P" _# a
localhost/view-12.html& L8 L. M+ @# L6 N1 @! `
2 e, Z5 j# Z% F3 A$ W9 E
输出的是:% X* b* n# q' B! _3 A
3 e% E+ Q5 |  K
你的Action是:view0 c- O6 [7 s) l( |. d9 J
) a5 x/ U1 n; ]1 _8 U
你的ID是:12
6 \4 D5 P9 p% f1 ?0 I1 c4 k2 M( r3 x: g+ Q8 a. I1 I+ j, o

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

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

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

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