搜索
查看: 11657|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2' [" b' U' z) r( i( u

2 d0 V4 G+ x+ T/ J- y加载Rewrite模块:6 H1 k7 ^3 C6 `+ ~  i7 k- H
在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。( z' D2 U4 ^7 n1 F& R( ~

/ u' g3 i. G( y$ [% C4 ]允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):
6 G( `5 O" |2 L) Q. v9 V6 A4 @2 r3 f- G) S( j
# AllowOverride controls what directives may be placed in .htaccess files.
# d9 }7 C, N) O: e) R; L# It can be “All”, “None”, or any combination of the keywords:
; K8 a. @, n# f4 U3 M4 G6 G# Options FileInfo AuthConfig Limit
- p1 K8 ^' @  d8 C## d& J( m* K; Z: [# y+ t1 s$ s7 e
AllowOverride All
  c: C. S* k1 Y8 l8 Q3 D" U5 `( r1 A; t$ [7 F
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
  R4 c8 T. ]) E- b4 r7 s) U/ [2 q6 T+ D/ a4 `9 q9 ~
Apache Rewrite模块的简单应用:
. b6 b9 Y* r$ l! V6 HRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。" T! O1 z+ d6 d- h
& `2 s. ]' L5 t* |2 N0 w
1、请求跳转
% s5 E4 l4 H/ Y% \目的是如果请求为.jsp文件,则跳转至其它域名访问。1 L( I( `) P& L' X
例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页
6 E1 ^3 F+ k( }0 P' {! O: i( E5 t注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。
3 w8 I2 C1 A) ]  ~0 _  X修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容
/ m, l4 I4 Q$ P* S
  1. RewriteEngine on- I$ L0 k7 x' r
  2. #开启Rewrite模块$ n) T# e- I# g* ^5 f8 K% Z( I8 I' C
  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为不区分大小写; T; y% M7 a2 p$ a- o0 a8 P% t2 \0 E
2、域名跳转
. W' t! I) h' q" I0 x8 c如果请求为old.xp6.org下的所有URL,跳转至b.
1 a6 G+ a/ T, z
  1. RewriteEngine on
    ) m+ r/ J* ^0 u& t
  2. #开启Rewrite模块
    9 ~* R3 x9 J6 f
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    ! P/ s5 }+ p+ Y/ v
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符" Q, `4 O* X) R3 s( K
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链) S% y! M' v) H4 \& O3 H/ ^
如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
( I, b' t1 F# e* h* s- G$ p0 i$ n- V2 c
  1. RewriteEngine on
    " M$ l* m( x4 x  R8 Y% G
  2. #开启Rewrite模块* C% [! v* n5 ^8 X* w5 c9 \
  3. RewriteCond %{HTTP_REFERER} !^$
    ' y: j& Y, {1 h) L! p' i8 ?$ ?, o
  4. #如果不是直接输入图片地址
    + n. @: z' ~  S5 [, s3 A
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]1 F1 O' N3 D5 `" K3 b' j& t: _
  6. #且如果不是img.xp6.org所有子域名调用的$ H# t" q' o( P
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]
    , S% Z- u, Z, R" |
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    8 L, N7 Y) R' R. ^! e. w
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]
    " j' m7 P- z$ X" ^
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]! H- F/ ^; P3 J9 L- i1 \, @- ^
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]0 j  w# x. X7 W" o
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
    ' R# q& Q' h. O$ A) `) n
  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文件- E, L# a( O3 k9 ?, a* g
在Apache2\conf\httpd.conf 最后一行添加
& {- E+ x( T% x; M
  1. RewriteEngine On
    , a2 Z2 Q. P: [# M7 I  f# p
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
( X( g; C1 S& T- ~2 z# Y% k3 P! M+ _4 |6 A" W
Linux+Apache环境配置类似。4 s: `, e# S, O1 N
2 |9 }0 D  l+ y( J1 A
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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