搜索
查看: 512|回复: 0

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2# W$ T: N( t" U
$ I6 o, z; R9 f
加载Rewrite模块:
) E4 q6 L9 t0 S4 h$ w. l" s在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。5 b7 P& x4 m; t, u3 ?* U5 A
! K- `( Z8 M* D, t7 W8 x( j! ?
允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):+ e! l6 z6 d- a1 t
+ r4 H' w5 ]& Q2 F" ?
# AllowOverride controls what directives may be placed in .htaccess files.! `; L$ E) u( k4 O" z1 W+ k- W( S
# It can be “All”, “None”, or any combination of the keywords:
/ ?9 a; K2 m; y! }# Options FileInfo AuthConfig Limit3 l9 s& O/ i; i+ k1 y
#
6 N3 f# m- b, C" eAllowOverride All( m0 c$ H8 F  a* `
. E1 S5 `5 D" H6 W
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
0 }$ I9 R9 t$ V
2 p' ]9 W( U# J  zApache Rewrite模块的简单应用:* l+ y* ^  y" m3 p# {
Rewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。% ?4 w' J; O: f6 G) K( g

. h+ @' S$ \0 K8 t0 L1、请求跳转
) ~( c8 v+ @6 G% T) k目的是如果请求为.jsp文件,则跳转至其它域名访问。
" L& `! I  q  g" B) w8 E6 U例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页: r/ ?/ Q; m6 j- L+ }
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。% _4 k* ]/ A2 w. k! H7 b( x
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容& F9 R" S) r( x/ P& m* [8 G- w: b
  1. RewriteEngine on% k* s) B0 r# R4 O
  2. #开启Rewrite模块1 w9 {- v2 y: T( y$ C' p* _* Q9 e
  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为不区分大小写
" f& T; p3 J- p& W& O2、域名跳转
  T6 H, i1 l* m5 n8 m如果请求为old.xp6.org下的所有URL,跳转至b.3 R- Z% L" V' M, B7 R# r
  1. RewriteEngine on
    1 c9 v! G) S% s- H$ R& v2 b
  2. #开启Rewrite模块
    ! t: @# s6 f1 v) ?. y
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]' x, p; @1 v* p! o5 M" P5 _5 M' y
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符! P% T2 D. ?6 T  Z4 _$ G
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链
! {/ S) |$ x3 e% ~如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
" u3 x2 R+ I: L8 m! r
  1. RewriteEngine on
    ; B* V2 Q3 ^' S4 F) [+ s/ ?4 B
  2. #开启Rewrite模块2 S1 Q) o' a% V  T% P0 @
  3. RewriteCond %{HTTP_REFERER} !^$
    4 M5 A6 B+ H0 i' a
  4. #如果不是直接输入图片地址
    , K9 Q" t0 w0 ~7 X
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]7 n0 h) T1 [  y1 Z+ X. c/ g
  6. #且如果不是img.xp6.org所有子域名调用的# H; S' ?0 N& x  s
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]" X; I9 F% ^- {
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]8 q7 [* c) Y3 p6 c) V( D* C+ \2 `
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]
    5 O: [2 I$ Q5 n# O* ]" F5 I
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]9 }1 c  |" C1 i6 Q+ f6 q
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]
    : g% Z7 c. w$ b  b  m9 ]
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
    ! R# q( l/ n( v% h
  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文件
# j& t7 c+ m, t# y0 k+ B. F在Apache2\conf\httpd.conf 最后一行添加
9 M4 C8 Z. Q4 I+ e) h- U) z0 k/ _& L
  1. RewriteEngine On/ \# d' d) e# s. T6 w; u) ]. @
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
: [6 s7 s$ L" N4 L3 g% f5 t9 x. J) Y# w; i- m
Linux+Apache环境配置类似。( O1 d: ^. G, Y( B5 g/ @" C. E

! `5 H# V5 O# F
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

QQ|小黑屋|手机版|Archiver|虾皮社区 ( 鲁ICP备13006813号-1 ) 鲁公网安备 37021102000261号
返回顶部 返回列表