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

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

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

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

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

x

0 |% P9 C4 m: S* A使用环境:一个主机ip,建立多个网站;一个网站绑定多个域名8 U7 m6 ^: \$ x, i( o

$ B+ b$ L8 Z/ Z3 n1、记事本打开Apache安装目录下conf/httpd.conf
, K" f$ j' j, `+ j/ W  ^注释掉下面四项(删除前面#):
/ O8 T: Q( w9 \+ S" K# E. v& oServerAdmin
. I; W% w6 q) T# T0 yServerName
: x* A( R/ S. i0 k  ^DocumentRoot
' }1 k! q: a! R( OInclude conf/extra/httpd-vhosts.conf' Z- s% A1 T- Q' w4 e9 d" l
% y1 o, M6 ~. h. `  {2 {0 y; ^" M6 a
2、记事本打开Apache安装目录下confextrahttpd-vhosts.conf,配置下列项
9 P3 g  b+ N3 t; D! R7 Y  d<VirtualHost *:80>                              虚拟主机端口/ z, x* K$ m$ {# Y6 V/ `. y
  ServerAdmin mailto:admin@domain.com                  虚拟主机的管理者信箱,不用和预设的网站管理者相同
/ P7 o5 m' w% O7 m8 t' k# |  DocumentRoot "D:/wamp/www/bzhot"             虚拟主机的网站主目录, s" W! Q" l2 M& s3 q; I
  ServerName domain.com                   默认域名,指定设定虚拟主机的UR5 L2 n5 o/ k) p+ F" a: p
  ServerAlias http://www.domain.com bzhot.com          虚拟主机的別名(多域名),例:WWW。用*表示泛域名,三级泛域名解析,可写成:*.my.test.com  d0 Q" X# m1 \5 c% j# l
  DirectoryIndex index.html index.htm index.php  网站默认主页
* x8 {$ E* i+ ~6 Z, d  ErrorLog logs/domain.com_error_log            虚拟主机错误日志,可不设9 a+ g; g5 h/ K
  CustomLog "logs/domain-access.log" common      虚拟主机访问日志/ H8 H( T# j9 v! U7 i
    <Directory />6 [9 N  \8 {9 w$ G
    Options FollowSymLinks
  @1 k& c: D% V. F4 E    AllowOverride all                         伪静态开关,All允许,None关闭
2 R  g% E/ q% v/ {    order allow,deny
  G6 \6 G; I, a% d; k    Allow from all
* G. w, X9 Z0 M& `7 N; S& ^7 L1 P    </Directory>  z1 [  Q+ S# @" H; c8 o
</VirtualHost>8 W- w* J' H. `2 ~

6 @+ O% N! r) H( C% c/ t9 z3、重启Apache即可
/ K8 C! \+ V' b4 v

转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46004-1-1.html 谢谢
沙发
发表于 2017-4-2 16:51 | 只看该作者
php 伪静态(url rewrite)apache配置!--(豆瓣https://www.douban.com/note/98028752/)8 F8 y' ]- n& c, }* _% N
- s. c$ G4 d2 x& r7 `* e1 R& ?
php 伪静态(url rewrite)apache配置: j* ~  T  ?  V" |( q

. q! z9 y, a+ k- Jmod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法!对初学者很有用的哦!4 i! k) Y7 O9 ~# i0 u+ r$ Z
) T8 U5 z5 i/ }8 H# e% ^+ e
1.检测Apache是否支持mod_rewrite
1 b3 J, l* Z8 Y' D7 z5 u& M5 M9 r* `7 x' d
通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
2 I( x9 p* H* s6 T% ^
, q' W6 _; F3 t6 q. \* r1 a如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
3 {0 c% [& I% M1 H8 X+ a/ m& K& w, T' i7 f# U$ X
如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
* |% Q4 A" j. E
3 E) \$ _2 g% P# l" @" X: ]2.让apache服务器支持.htaccess. `1 H; }8 O. m' c! Z; `6 e. C4 ?" c

1 G* g) I' G- c如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找
# [9 I" n. ]+ n( d) F4 P2 V9 Q& t9 u
Options FollowSymLinks
0 |7 Q" s1 r+ H
$ s# a  O/ E' i  }  F; z& uAllowOverride None
- ?; Q  M: N* {3 P- g
' y0 u) F2 v, q" P2 R改为8 x! ^' B7 j, f( i
' M. ]7 j3 B: q0 Z
Options FollowSymLinks
. w4 D1 T. }0 i2 S; f
+ M* Z4 f- P6 z; V" ^8 I5 k0 @AllowOverride All
& P6 I( e1 \' x2 F2 z* [5 s% {/ q0 @0 I
就可以了。' k( u3 S  ^4 n" l. E) ^# E, Q

8 \2 \7 s0 t. ~+ v7 I3.建立.htaccess 文件4 f$ [6 k' _& V9 U
  _$ Z2 n1 g( O
如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:
2 s4 G# `. K) `, Z/ g. b' J
! x' m3 j- v. x, h(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。5 K- J9 I+ i2 N! Y
  T) |; s% B# S2 [' b
(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。& f9 |! Q. ?8 P: I  O& u. _1 ~

( n$ M: F$ I% [% u  K* s(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。2 f( d3 L: x/ g- F

6 k7 w+ V) O/ A! H/ `4.rewrite规则学习
7 ]1 F: Y! I6 D4 X* `2 m7 d8 d; o1 K
我们新建一个.htaccess文件之后,就在里面写入以下内容:
- x5 v- W* g5 H- h, \  @' R7 v6 m
. D6 c" L$ y( tRewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
  H; q6 i( K  K1 k5 |1 B8 |. D# s9 G( j: P3 N
RewriteRule ([0-9]{1,})$index.php?id=$1
- R3 R) t9 z2 \0 {& H6 H' m+ z9 K" G+ E
我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!- ]" u" R. M, {8 {6 K% \; h; k
6 E/ v5 V1 c0 q8 a& m- o6 M: P1 q
好吧,现在我们可以实现伪静态页面了,写下一下的规则:
4 \2 {# W2 S9 @) j/ I+ i+ U2 a7 K/ y  k
<IfModule mod_rewrite.c>0 M. Y: j9 V9 e* }) x1 M1 }: S

4 q# X# `# F+ T2 ?+ c! i9 V: ?RewriteEngine on1 n0 [  x1 q8 g, m( [5 Q
1 b, F9 ]9 K6 q. [' ?. A) P
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2- u& A( |- V7 Y! h. G

2 i. k* b' m+ z7 F4 S" m4 I</IfModule>
8 Z+ E" [; X: ]8 U, C9 c
9 X1 ]% T: M: U2 P
1 m! M% |3 w4 V2 a  ~([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!$ y1 u- X& V( @# J
- h( O1 J7 b# `7 |3 ?
我们写一个处理的PHP脚本:: \0 J& _6 ?, k9 ^6 p' K4 a
7 ?! X# q" I( ]4 _& r2 K
index.php- K$ u0 M- t+ z0 z/ {, z3 M  Q
5 v1 G& q& L+ O! y) v
PHP代码  f( i- ?) B% y7 Y
<?php
  l, h+ T9 i; [, o: P9 Z7 ?echo ‘你的Action是:’ . $_GET['action'];
; p: S, L. Q5 r4 q" F( S$ Fecho ‘<br/>’;! w8 w, w) e6 |4 e, {! a
echo ‘你的ID是:’ . $_GET['id'];
( h  R$ X$ f& B6 c3 q; e?>$ U$ q- }; w1 a
好了,我们现在在浏览器中输入:
. N- d+ a- r- m
6 T8 J3 ~3 U# h6 U+ flocalhost/view-12.html
1 ?7 w- ?% I& u: f, H$ Y+ j7 X
输出的是:
, i7 v  ?, h5 }9 Z) q2 n9 J& h4 M# v/ I8 V( t# J  Q
你的Action是:view( T1 W' V) x8 {- }% \( h
0 z/ I' {( [% G- d$ M
你的ID是:12
# ?% U9 A# O/ \/ r* y. n  A( q6 C$ K& x$ U% Z. r! H

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

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

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

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