搜索
查看: 8274|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2& Z* y8 E. e9 e1 R* T; u1 c
8 T, k' ]3 O+ _, w- G+ `& c5 H& p
加载Rewrite模块:7 J: C+ J' o6 Y: s  @' J- D
在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。
9 w5 m# r2 J6 u  \0 L& J" x! x$ S
9 f9 _0 u6 Z: v' x8 K; p允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):
& }) I+ Q0 G$ O7 L9 B! U) o0 V2 d# k2 z$ E
# AllowOverride controls what directives may be placed in .htaccess files.6 X2 D% H, }+ |! w! J
# It can be “All”, “None”, or any combination of the keywords:
* \3 b# |6 X4 Y" p) {, B3 N# Options FileInfo AuthConfig Limit
! w% \& }# }; x, r4 b+ @#5 d3 }+ i# G" Z) P7 T0 G
AllowOverride All
4 K' [4 g4 R- c/ H
$ j& y# h1 ~1 F' r- i3 k5 h在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
( x) O, }% |* I3 m: L) V4 u6 ]3 G& K* o' a: g
Apache Rewrite模块的简单应用:
& F* E7 c# S. P5 T6 O2 vRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。8 M, k- C) K; V6 s

! i. w* K: p6 V/ W$ y1、请求跳转
* Y1 M9 Y$ N/ U. L" R" y2 ^目的是如果请求为.jsp文件,则跳转至其它域名访问。
3 ^1 ^3 D7 t  i0 {; K' q例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页
" K9 k. r$ T: }: ~$ t0 g7 Z0 Y注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。: v1 P" S  m( s2 Y- q# \0 _2 b" F
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容
' e/ a* @: \$ q$ o% ]) _) p" y
  1. RewriteEngine on6 u: @3 ~5 F3 p" p$ [" m8 r/ W
  2. #开启Rewrite模块
      s6 X7 j) I3 T' A. t( v
  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为不区分大小写( v4 o: k0 H2 X4 B2 i4 D
2、域名跳转
/ F6 s/ W' A- x8 K如果请求为old.xp6.org下的所有URL,跳转至b.
+ I, U1 W) E% D2 L
  1. RewriteEngine on- Q9 A* B0 v5 f* f& Z7 V! _$ j7 S
  2. #开启Rewrite模块4 p/ c% Q6 b' V" F6 p1 n6 [
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]$ @# A7 K5 ]( Z! n4 `+ m
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符
    9 i: t/ w0 B2 d4 ]7 Y
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链
1 x1 G9 t. k* h1 I7 N( z如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
- v( a9 [' v" x9 q# b% @+ Y7 X
  1. RewriteEngine on4 w- G' k4 l' s6 a" G1 ~
  2. #开启Rewrite模块
    1 `! L& N5 R8 r' _6 r
  3. RewriteCond %{HTTP_REFERER} !^$
    : _. J9 P# ]. P3 [) j& q0 K6 l3 z
  4. #如果不是直接输入图片地址, A$ R1 i/ h+ ~) N( y
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]. N1 A* H2 m6 ~* \7 x0 ^$ S7 K9 L
  6. #且如果不是img.xp6.org所有子域名调用的
      R8 ?. c1 L0 V" ~
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]
    2 i! F  N  d5 C$ {7 G( W4 }
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    ; X. y5 J. X( |# z0 M& n/ X
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]
    ; I; H" e) c' D6 H5 c7 q
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]- N+ S$ b$ M4 g6 l5 }
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]/ q- T, b9 @% b; Z% t% R1 _
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]) W+ W9 p( ~. n( `, Q
  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文件
$ A+ s5 D! y" p5 Y# G' b5 m: \; C在Apache2\conf\httpd.conf 最后一行添加2 v$ F8 h4 ?: f% b) _
  1. RewriteEngine On  a$ e" m% n  N* b
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
: |7 b; `' x! P6 p2 L
# h% l  I2 q0 u, @+ e5 R  M$ GLinux+Apache环境配置类似。
- p; F# @, h+ B
2 G; ^9 a8 \  R: P3 B( B
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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