搜索
查看: 11754|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2
8 u1 `# r1 {6 J2 v+ d. t% v+ p7 d! K$ ]( k& i' @- u, w* e
加载Rewrite模块:
9 d3 z+ J% W! s. R4 z5 d在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。# {( L( G5 S% t. W
9 |  _2 Q+ w# k7 I/ X. X9 R/ J& q
允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):1 d2 X' Q/ T6 j

: `* v! [, o, o& |! r1 N. o. Q# AllowOverride controls what directives may be placed in .htaccess files.( }2 e0 d& d. q# k
# It can be “All”, “None”, or any combination of the keywords:
$ v2 B. M$ ^  ~+ E2 s7 p2 C+ J# Options FileInfo AuthConfig Limit* W# B" ^1 g, f+ g
#% T3 Y' k$ d* P4 `/ i" e
AllowOverride All
. l8 I) B7 t; O4 i* ?/ s( a
( T$ t) G* U. }; o6 H/ |7 c在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。. a1 }8 I1 v' [6 F! Q& Y5 B

4 ?! K5 N! G' Q- VApache Rewrite模块的简单应用:
) P; `7 i* O3 F0 _# W' tRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。
* L' l+ i9 N5 J0 \% O6 e) T; ~; Q7 S4 }6 O: p* a; z  b) g& d
1、请求跳转! W  q3 ]2 j; O6 E
目的是如果请求为.jsp文件,则跳转至其它域名访问。
" ~" l: u5 K  ~+ w! f5 `例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页
% [0 N, j* K8 B3 W! n$ Z2 e$ z% m注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。
+ [! h3 y/ \0 R/ D8 V修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容# E5 ]9 e! \% ]
  1. RewriteEngine on7 C2 w( P) F4 u6 @2 Y( y
  2. #开启Rewrite模块
    . D: X  J' N0 P" m) y2 |% _# e0 i) T
  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为不区分大小写
" M! E* z  l9 `1 ]6 Z( f2、域名跳转! W2 L5 d: K! P
如果请求为old.xp6.org下的所有URL,跳转至b.0 Q" k9 l6 J* n$ g$ w/ R8 e) h
  1. RewriteEngine on; l2 n! W$ u! i- b" W, @6 Y, |
  2. #开启Rewrite模块' D4 V  ?" `1 O/ {
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    : x/ A8 h( ^! i1 [" I2 C
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符
    & ^7 x: ^& d) _
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链6 \8 u3 G4 \+ a5 q  \0 S
如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
! q7 C3 y% C0 B9 b0 `- C
  1. RewriteEngine on
    ( L# W& t- h7 H
  2. #开启Rewrite模块
    & V/ e* {# |) K7 o+ O+ z& d1 A
  3. RewriteCond %{HTTP_REFERER} !^$
    ; y6 S6 ?$ V1 K- u* b7 K
  4. #如果不是直接输入图片地址; T7 B7 a# P8 |4 v8 F
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]
    8 G" p( M( w  V! w( }7 K
  6. #且如果不是img.xp6.org所有子域名调用的
    ( @) B* I/ k7 v, I7 ?
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]' Q4 m6 W7 C5 B3 l4 V5 L8 G
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    7 @! B: X7 X1 k" Q$ @
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]
    : x, O7 M) I9 {8 J
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]; m# S' g: z/ ~! W
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]
    ) G( |/ X. O8 U4 [$ g
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]: Q, t# Z! {) N9 h2 V9 t5 Q9 L& _
  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 }% K* N2 d7 K! p. c# D
在Apache2\conf\httpd.conf 最后一行添加4 J, ]! o2 m; l- ]% q# A6 _% q
  1. RewriteEngine On7 a1 U1 S+ {! ?& ?% k$ V" [
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪  v. `5 z& [3 d+ s  D# J4 b: B% b
+ V$ q/ z; [$ y
Linux+Apache环境配置类似。9 f0 P% V6 K$ x- t, K! n4 _
. e2 c# C9 M  j3 A! i2 f
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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