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

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

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

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

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

x

# Y4 Z, z& Q$ }; S3 Y使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名
- A0 K4 y" u/ m/ t! A% F6 y6 o) C1 T3 r( b& j4 z/ b# y
1、记事本打开Apache安装目录下conf/httpd.conf6 v4 O/ D: J- h" W! W! k
注释掉下面四项(删除前面#):$ x( m, N  v: Z( I5 L5 S6 Y2 x/ R+ |
ServerAdmin
+ C5 B* @8 ^4 J* i3 K* eServerName
. W9 I1 F6 Z0 T* Q* x6 dDocumentRoot/ [, q* }6 j( p  n* V7 J; ?
Include conf/extra/httpd-vhosts.conf
# [, W5 y, q8 M, n% ^6 r
, {0 V6 ?0 d0 z5 G8 ^$ R1 k2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项
/ S, z, n; \: A2 A; E# ]6 ^' X  Z<VirtualHost *:80>                              虚拟主机端口9 V& ^$ g  I7 ?* e' E5 L
  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同# m! w6 J7 t6 ~& l% _- B* V' [- F
  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录
: a3 `% \- v7 m, j' g  ServerName domain.com                   默认域名,指定设定虚拟主机的UR
+ S/ R" R: e# C0 r: W# y  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com
7 Z1 M  X/ h! B  DirectoryIndex index.html index.htm index.php  网站默认主页% v1 g; F6 L4 |
  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设- ?6 z% U' N3 L9 n. K7 n# e5 v3 t
  CustomLog "logs/domain-access.log" common      虚拟主机访问日志
- ]& L- y/ Y7 s  K    <Directory />3 S' s9 ^& b2 E  I" U9 a$ b
    Options FollowSymLinks
3 P! \$ R0 p; [, ^9 \9 P/ E2 a    AllowOverride all                         伪静态开关,All允许,None关闭) I- ^; v) W0 q# e9 r$ m2 C7 \: i" r
    order allow,deny
; ~& H( f" _0 p3 o1 f& t( J! a    Allow from all* w% D* _0 B& A* B' W
    </Directory>
) U- |: [- m8 j* Z5 h</VirtualHost>5 t  N0 j4 ~2 g" q+ m, j: H1 b

# X2 M9 s, E# x& p& |; A" Q/ Q3、重启Apache即可- a! ]4 ~& N. N! z6 _


转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46004-1-1.html 谢谢
沙发
发表于 2017-4-2 16:51 | 只看该作者
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)
2 l9 W5 H2 R/ q& J* }
  F4 Y2 X# m9 L' [! A" \2 |php 伪静态(url rewrite)apache配置
+ c% N! ~* {- Q/ _* D7 N
0 ~0 ]& n8 ^- B* t9 J+ x9 Emod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!
) H% Y& b* n+ B  }. g' E0 Y  m- p  W' A
1.检测Apache是否支持mod_rewrite& q7 ?+ V1 g4 Q3 E

; h% @  F* W" k7 |- d$ E通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
1 C+ b+ L# g2 d% n$ \
" m9 z. e6 G* l3 F* J1 m如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。& l" Z$ z& W+ Y" M" v; [7 V6 U
5 ~0 U5 J( |5 B3 w# U7 f
如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
0 f1 v& \0 d* ]) f" V( H% I" _; ^5 v1 `! g  H6 `
2.让apache服务器支持.htaccess! o# Z0 Y- t! J
- Z5 E5 F- ~' D
如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找
8 i. W* z8 |, [8 ~# Y
( ?$ n/ g" x, J# E8 ZOptions FollowSymLinks
/ t" S( c0 B4 h: S% `9 K. f, i7 t
AllowOverride None
& Y2 W* A- l- l" p2 \% W" e& ~* g6 x$ g& U, M) C4 p: v) a& u
改为
  r) X2 P! I' [8 o, k, k
$ T/ W5 f- D  Q* mOptions FollowSymLinks
% [: G: J' q7 W- J( Y( X% ^7 Y
0 Q% W% N, y8 c1 W7 v9 \6 b+ uAllowOverride All
; q7 W0 q8 X* l6 s; O% w' S+ W6 h3 |3 `! w! X3 u. M5 h
就可以了。2 _1 f8 e2 w: U. a5 c6 i

: x7 e( L- o& e- y$ C3.建立.htaccess 文件6 |) a% a$ M# h8 o: f
- m0 Q* E4 v6 j  f3 V
如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:! @% w! T) M' K$ j& L; R
( R+ t/ a& |0 [5 F9 x
(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。
  A% [3 J3 F7 n' f! ~6 z% L, o! B9 p8 ?' V9 A) e
(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。
& o. l0 H# w& c; C& G0 X) @2 h, y( O9 f2 q- p2 s1 g) Q% D. W
(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。0 t/ ~' D; p0 Q! g

- \4 Y* g# e4 A; M4.rewrite规则学习2 n8 C3 H. \) J1 S  k7 M

2 ]8 z  c5 m/ _0 F0 m4 J我们新建一个.htaccess文件之后,就在里面写入以下内容:
' Q2 \( _8 y4 e' i3 j, l( j* r' L- N2 X! t, S3 b6 r% f4 h+ j
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭& Y, g# ]/ L/ h  K

5 R) k+ [6 P4 l( P5 ]5 p, hRewriteRule ([0-9]{1,})$index.php?id=$1
( O2 ^! s3 J; a- L" |
- j$ [. x8 C. M% e* z3 ^9 ]& x我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!
) N+ T4 M7 ]5 T
% j, ~6 g+ V1 `( C# W/ u好吧,现在我们可以实现伪静态页面了,写下一下的规则:
4 U) X; u- r  b2 P. H* q. n0 n2 A& c0 p1 a1 B4 B
<IfModule mod_rewrite.c>2 L3 d- x  ]* }$ H0 X1 ]- g

* E! I, U4 |5 c2 i, u/ m& YRewriteEngine on
' P, \$ e" {5 R" o/ W8 P/ [7 y8 u# _) s* }7 F
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2
- `( C. U5 j! I+ T4 [& |& v# W( J$ I
, w1 `$ P) W/ a# V6 ?1 k' Q' @</IfModule>, U/ U5 H/ v$ _" H

6 `6 c4 T* i1 R& h, C; y5 S2 J7 u6 ~4 A
([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!9 @2 X, c5 _3 g

1 N, P; ]: k% b: O0 X% \/ g我们写一个处理的PHP脚本:0 {2 E  I6 \8 S* q$ [$ i4 s

. ?# A( k0 r3 D: tindex.php2 K+ v( [- I" z: Y, \8 P
  H& S; z! q% K/ Y3 |* \, x
PHP代码8 n2 t4 w: M$ j, f3 `
<?php' Z( K' h3 B8 y  m' A
echo ‘你的Action是:’ . $_GET['action'];! T$ K& C- Q7 u7 a' B+ Z# q
echo ‘<br/>’;
+ p) k1 \' G, E8 F3 Mecho ‘你的ID是:’ . $_GET['id'];
: h- M8 h+ l( b. i0 S5 e' e# R?>- [- O  E% T/ ^* W1 U. D$ q. e
好了,我们现在在浏览器中输入:
% }' k/ B( }( D5 x# _, {" L8 V" {9 M! X8 l
localhost/view-12.html
! m; \7 x; V% X$ t. \
. {3 P8 j: f% f# ~: e输出的是:4 q5 ]  [$ s, M- `
: E( _1 L: {3 [. b
你的Action是:view
1 {' y( j5 A4 ]+ @
5 p9 L% h& l7 z7 ]1 g% R7 z* e你的ID是:12/ R$ d" t% z* a+ J( A. |$ p4 y
" G. |3 v) Y/ f( [

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

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

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

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