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

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

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

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

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

x

1 I1 D! w/ G$ X7 y- H使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名2 H  L! k$ }3 X3 b9 i, k, K

4 V" A( S" O( i; L$ J1、记事本打开Apache安装目录下conf/httpd.conf
) y2 \" |. n; [5 K8 |注释掉下面四项(删除前面#):+ C1 ]- V* L! r$ n2 W
ServerAdmin% l5 r4 y+ H2 H" I8 @0 D* j4 I
ServerName: t* w3 Y/ [% k, k* w! P
DocumentRoot
' j" J7 C" E$ ~$ d3 c4 yInclude conf/extra/httpd-vhosts.conf
: q& _: i7 B2 o" h" I) ?) B8 u+ c( g% L5 B8 B2 f
2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项
) x/ G. g1 O* Z5 N" |; y, y<VirtualHost *:80>                              虚拟主机端口
8 O7 w; S. f9 L8 V$ q  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同  |, k: q( T4 X3 \% F4 z" a4 ^
  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录
3 J2 T* I0 O7 H" n, o  ServerName domain.com                   默认域名,指定设定虚拟主机的UR; P7 {$ z# N( f- F% c' A
  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com
- o% H1 u' h. N! r: m* L7 q. @% v, `  DirectoryIndex index.html index.htm index.php  网站默认主页: |1 M3 ~# R0 x2 s" A
  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设
2 G% N2 M- r, t" M$ g  CustomLog "logs/domain-access.log" common      虚拟主机访问日志
( j" L2 T: C4 h6 j# R    <Directory />
, q6 x& {8 ]8 i; w2 l( @( j    Options FollowSymLinks
9 G, X  }6 x; _    AllowOverride all                         伪静态开关,All允许,None关闭
/ J4 U2 w( K* Z3 m5 X! V8 Y9 x+ t* ~    order allow,deny( u3 v+ P5 v$ B- |! a! {# P1 ~3 k" X
    Allow from all
$ `8 w3 m: R1 a4 U% F: d* g7 s/ W. W    </Directory>
* t9 H, x7 P, \! I0 f) T* r8 q</VirtualHost>8 Y, J8 K/ R+ J0 Q
5 |4 z: `5 m. n: {3 V! k/ Y; v1 y' [
3、重启Apache即可
. y  O0 N4 O& R6 n  G

转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46004-1-1.html 谢谢
沙发
发表于 2017-4-2 16:51 | 只看该作者
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)
" R* Q( d" I" @4 Q: y% G! N1 v
* H/ K! G* u8 v6 k+ [9 v$ z4 Xphp 伪静态(url rewrite)apache配置
, j1 J1 s0 c5 B6 m  ~: t9 M% A% k2 R, U3 X+ I3 E
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!. }( C* }2 G6 I) q3 Y
! l) r9 C* a- L" R( e; I+ P% ^; \) O
1.检测Apache是否支持mod_rewrite
. {1 K5 x5 y6 [: d3 P: i- t2 V, @! K; Y. V" h( ]" ^5 k
通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
' |' K3 V+ S8 W, o) L) K6 @# S1 `6 k( W
如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。8 F7 h+ d- G, z7 S5 v

8 M. K' `- u1 d* p% x如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。$ m: q+ _, \  M% t# a5 i
% y$ ^, U, z% `  F. t" G
2.让apache服务器支持.htaccess- f3 @0 x/ N. D: g' ^+ B2 U

6 f* g1 d5 i* v' H, o/ v如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找
. R$ l0 _9 u8 b6 K' t. l
, I5 \. H8 F+ O% AOptions FollowSymLinks
2 r7 d" p/ ^, s% R- Z/ L* _! H5 W; l9 p1 y4 }0 D1 ^
AllowOverride None. n2 O6 u  |* l' L

8 n5 j8 c. f  Y8 {! Y改为) \! U: b$ B4 M" |, l6 f2 _

( o; v$ `0 ~/ J; w) U& I8 Z7 J( UOptions FollowSymLinks2 @7 T" E% T2 J" K: V% Y) W

  c7 Y  W4 C1 a# t* [+ `AllowOverride All
" f4 m* u/ ], u& U% B2 T
+ R4 X0 a4 b, B8 v# a% P就可以了。- [3 P0 N3 ?, B4 F# w; Y" H! q

2 N  d6 Q; \/ l3.建立.htaccess 文件
5 ^1 j2 X. g0 h- T2 Q6 R8 o; H6 ^
如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:! R* ~: N7 b8 Z+ I- R2 d

) o: `; I# u9 A, v  m(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。
2 Q+ e% X" Q6 m% U. b# |: F2 p; Q% G5 f& B: @% f
(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。# P' Q7 G/ c" H2 V1 |

0 E' b% a; t1 ]4 w# M: G) D: ^(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。
. ?6 B4 g# W. U! \7 e$ X6 l" w0 f3 Y  I$ @
4.rewrite规则学习
* M; B1 A! z% E6 v- ]- a& B+ n. y8 J+ f
我们新建一个.htaccess文件之后,就在里面写入以下内容:8 W* Q' f! F5 G. i
2 j8 [5 D2 ^' i  X
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭* z. ?' n0 W/ G

9 T/ M5 w+ w' c2 G, D5 \RewriteRule ([0-9]{1,})$index.php?id=$1
3 e; H7 n3 Y' `8 e# c
7 r+ H6 z: w- L" c4 U5 t我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!( C/ z9 q/ P6 R
- N; E" Q2 j; e
好吧,现在我们可以实现伪静态页面了,写下一下的规则:
& y/ {: F8 ]) o6 `- b3 f# T% X& P& x# A% `
<IfModule mod_rewrite.c>
8 f; @4 K( j2 T, W( R/ W) F- P4 L0 c2 `+ [1 h9 o0 b
RewriteEngine on
+ V1 x8 z0 \) w. A9 A
6 @8 D9 M' I( g5 j9 a; M9 kRewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$23 L& a$ [' o5 Y- y/ Y3 ]7 z' P
7 W8 ?1 j# p: |6 S
</IfModule>
! n" f/ f0 Y& g7 I1 M' {8 D' M
9 P, F2 I- a  u/ z! c, _9 ]$ ]: o, Z6 L
([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!
- r9 @" E( R- S4 C, j0 R
% C7 E( D2 Z1 {我们写一个处理的PHP脚本:
- {7 Q( Y7 v3 A7 i8 Z) w9 V& n4 U3 O) F0 \
index.php
/ P1 R. ]8 H! V8 `" b3 [; P5 d- i" i9 K& }- F3 E) ~7 d2 {
PHP代码3 ~9 j# a8 q- g; C' n
<?php
9 c% o: f' j" Y6 ?echo ‘你的Action是:’ . $_GET['action'];8 N+ n& L' Z$ f% C9 _6 e" a/ J3 O
echo ‘<br/>’;: N4 ]9 K+ C5 c, F$ U- b6 j
echo ‘你的ID是:’ . $_GET['id'];
2 i: N8 _! ]9 m  T( ?, @& z?>, j6 ]# ~. S, u/ M, p' D+ ~* H
好了,我们现在在浏览器中输入:
% ~1 P: N. g: m  ?3 X# R# q1 h. n- r+ |' z. G9 V5 P" P
localhost/view-12.html! \: A% r" y9 X/ A/ s

; \* N: w& T# d) x& i% `. \输出的是:
; Z, u; c4 v3 g5 G1 `* G
# }- \% e) p+ s9 |你的Action是:view
1 y: M. ?2 q. W' D0 h) P- e& k( ?& a3 U
你的ID是:12& D5 H. o) _1 o9 N& Y0 c5 H4 B% d

) ~# B! k* e: d- L  H

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

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

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

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