搜索
查看: 11659|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2$ x5 ?! w+ N; ?

6 L- a7 m. e2 Y- O3 A4 v2 V* G! G加载Rewrite模块:( I) A: Y2 @1 w# _& O. x9 U: D
在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。! h! `+ p  N* ?
7 `4 ^4 T, b9 J5 J
允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):
7 `; p" [; q+ L, N
- j) ]% Z. j5 I% v" s# q# AllowOverride controls what directives may be placed in .htaccess files.
1 j& y8 F: a$ ~' Y; L9 M: Y# It can be “All”, “None”, or any combination of the keywords:
+ V1 E3 E' A+ N' e6 s4 l# r2 E# Options FileInfo AuthConfig Limit8 X5 O+ W& @8 K) V
#
) {9 a0 `2 V' MAllowOverride All
! k3 B7 Q" q, q
7 }" \$ J6 [1 S$ `+ Q  B- r在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。$ `) e' w8 i. @9 ]3 ]) K

% s) P4 Q. Y0 x" x7 cApache Rewrite模块的简单应用:
0 y# M: H" p1 a# Y& J) ZRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。
7 p& i  K3 E, V& T' i( @% U" ]9 i% ^) {: |3 h, P
1、请求跳转6 K5 L% a) D9 D  @9 E
目的是如果请求为.jsp文件,则跳转至其它域名访问。: z9 f4 [- Q* h: ]$ H5 M1 n# H5 Q
例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页
  E: c3 F& N! N( k% f; [注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。3 p+ g' v7 Y( r! F6 o- K: @( j5 y
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容
5 F4 M, \% x0 Z* B% s7 J  z' M2 r
  1. RewriteEngine on
    3 [8 a  W" r& U  ^& q/ M# T* u% K
  2. #开启Rewrite模块
    $ ^8 j, E1 Q# [9 `; J
  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为不区分大小写
, {% _$ ^, q( V2 b. u( G: K5 K2、域名跳转1 b' y$ c) p+ \
如果请求为old.xp6.org下的所有URL,跳转至b.4 ~. Z5 V3 x$ M0 p! B9 ~( e- Y" N
  1. RewriteEngine on
    4 V' c. h0 h8 m: C+ ]# I7 l" `& V
  2. #开启Rewrite模块
    7 A+ z% e- i; W  e5 }. P# B
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]- M2 ]8 `! J/ E8 |1 r- K
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符; J# B7 E: \: o  i6 H' a/ h
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链9 H2 }: q7 C! N; U3 w" r* q
如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
; D. M4 H) m( P, M+ n  U" I5 s
  1. RewriteEngine on
    ) B/ D* K$ J8 G8 C
  2. #开启Rewrite模块0 f3 [. K  X& u0 W- I! C
  3. RewriteCond %{HTTP_REFERER} !^$3 v0 l: }2 s# E( x# \
  4. #如果不是直接输入图片地址
    + [# t5 t: k' r% |8 o
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]1 g. V: G2 p7 D3 M9 c; n
  6. #且如果不是img.xp6.org所有子域名调用的
    6 ]6 c7 I/ D8 e* V9 k' P, X
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]1 R6 c- P1 O) W- ^* w
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
      G- n. ~; T+ g
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]4 N1 U  x, n$ C8 G5 l! C) j
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]! V1 [( j% D) W$ A9 P/ ~
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]6 A3 n8 N5 w! o
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
    ; z3 a# j5 y# R  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文件2 r- |2 v/ t" p( b4 j; _' H
在Apache2\conf\httpd.conf 最后一行添加
& i5 w. U0 P" t5 N! j: r# h
  1. RewriteEngine On4 q- A# X+ c! G+ C- G
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
; Y, L. A; D4 I- B  x- q  i& v6 x' [5 c! e/ Q4 i( K
Linux+Apache环境配置类似。
" |8 M1 G; W( _8 s0 j, G  c1 s
" `+ Q( x1 c" d5 p
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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