搜索
查看: 12521|回复: 1

[网站] Apache如何开启伪静态

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2  ?  [6 u, F( Z0 U( T8 V8 A
3 ]5 e# q: n' _. k7 ]2 h
加载Rewrite模块:
  t4 p8 u' k' k+ o' V在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。
) U3 l* Z7 _" _- k3 W8 G
' J0 b+ j5 d, Q% N. Q6 L允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):( z) q+ r  |  p6 U( }9 x1 }

4 I8 `) |5 ?0 f% y4 [# AllowOverride controls what directives may be placed in .htaccess files.
1 w: T/ d3 O8 a. J; L9 h# It can be “All”, “None”, or any combination of the keywords:; F& h% z. A! p5 w; |0 p8 F9 F
# Options FileInfo AuthConfig Limit, s, Y! T0 o' v3 r  k
#
/ \; O9 W2 U4 Y9 h+ K3 D: vAllowOverride All5 G: P) j1 C+ X

' F$ M% X7 N# j$ |4 B' H  k在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
; r+ h; \% [4 t6 b' T
. H' a4 W& w  h7 AApache Rewrite模块的简单应用:
. f  C6 D! f7 A3 Z  A4 R* oRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。9 @2 d+ W% k( \8 _# \# Q! a; v
: Z  C. U0 T$ H# W" A; B: |; D# [
1、请求跳转
! u% C" t3 y) h目的是如果请求为.jsp文件,则跳转至其它域名访问。; U8 X* |6 l% @/ i5 r0 ?' _
例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页% i& j. k0 C1 R7 w0 ]& n
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。6 O, i4 N8 _! V  H  z
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容
, ^2 \, Z* I% v1 O# {' R! m
  1. RewriteEngine on3 d( y& ~  H$ B$ G5 C' ~( ]
  2. #开启Rewrite模块
    ( T  k0 {: X2 j" H
  3. RewriteRule (.*)\.php$ http://www.xp6.org/$1\.jsp [R=301,L,NC]
复制代码
#截获所有.jsp请求,跳转到http://b.xp6.org/加上原来的请求再加上.php。R=301为301跳转,L为rewrite规则到此终止,NC为不区分大小写# N  T, A$ F' u9 ]3 t
2、域名跳转
) {8 l; ]1 G2 q* ]+ T5 i" K如果请求为old.xp6.org下的所有URL,跳转至b.. V8 u* s+ F0 Y2 z$ k3 N# r
  1. RewriteEngine on7 v8 q7 q1 M2 ~7 X: j5 O& @5 E# Z2 H
  2. #开启Rewrite模块# e( V5 Q: P* U# U# w& A+ ]) G  p: V  c
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    2 h- r8 C2 M! j& u3 U
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符
    4 l  p( I/ V2 i' J: u
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链
6 t( h0 U( g! ~' a! A5 Q% D如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
4 R; W6 ~. q0 p6 t( k- ?
  1. RewriteEngine on
    % D1 Z* d9 K, A: E
  2. #开启Rewrite模块
    ( p1 q8 s8 s. b; }# J
  3. RewriteCond %{HTTP_REFERER} !^$
    . F% c' P! `) r% W0 J+ R
  4. #如果不是直接输入图片地址, }9 Q5 y- p6 I& C) p
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]/ Y, v+ W4 X( d# h% g
  6. #且如果不是img.xp6.org所有子域名调用的
    ; ?4 ^+ b2 B* ]5 N2 C
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]
    & \. ]% Z4 s9 m7 K: g
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    4 c( V3 i' z) e/ G
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]( k) ?/ x- t0 W
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]
    2 r1 q) N  y; t# `! L
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]; e( u' D4 e$ v" I: C
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]5 E% B2 N2 P$ A" ?' h' l- y# b
  13. RewriteRule (.*)\.(jpg|jpeg|jpe|gif|bmp|png|wma|mp3|wav|avi|mp4|flv|swf)$ http://xp6.org/err.jpg [R=301,L,NC]
复制代码
4、不需要定义.htaccess文件6 L9 x6 l& x, h  `
在Apache2\conf\httpd.conf 最后一行添加
; a0 K4 F) [2 n2 k2 _( V" ~4 Z0 [
  1. RewriteEngine On3 [! K# L/ I) w. @9 e: N  w* u
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪' a3 @; C. m+ Q/ c
0 v  r3 P/ r$ E4 |/ r
Linux+Apache环境配置类似。- }) g$ n2 U$ W

3 ]  }; z2 a8 [3 b) B8 F( Z
回复

使用道具 举报

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

本版积分规则

热议作品
精华帖子排行
精彩推荐

虾皮社区,成立十年了!

站长自己也搞不懂想做个什么,反正就是一直在努力的做!

Copyright © 2007-2019 xp6.org Powered by Discuz

QQ|Archiver|手机版|小黑屋|虾皮社区 鲁公网安备 37021102000261号 |网站地图
返回顶部 返回列表