搜索
查看: 11711|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2( l6 K0 \$ O6 U- J' ?* P; l/ R

% o# h, A. f3 Z加载Rewrite模块:
( \* {: E% a3 ?% P, p在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。
$ E5 r5 |+ e" V$ ^9 ~( d, m! n4 a3 T! D4 A
允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):
. A' a, I' `9 @% y9 D) [5 ^7 U" ]# z! I: l& z+ o
# AllowOverride controls what directives may be placed in .htaccess files.
7 u/ S8 g+ A5 V2 U# It can be “All”, “None”, or any combination of the keywords:
5 A  K) E4 ~# ~+ Z3 w# Options FileInfo AuthConfig Limit
! E. |8 x+ Z4 x+ m$ i4 B+ ?#
) W% n' R3 }0 F. U6 N. _AllowOverride All
% \, t6 I# O3 N- B  `% D# O: |
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。2 f7 T7 r1 ?. U: l) T, t, o) y" h
- w+ g- F( K0 R6 |1 ^4 Y
Apache Rewrite模块的简单应用:6 ]5 W- G0 m# X- y  c
Rewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。  {; T0 |! F* z& L

# R2 |# @1 \! k  J6 `" _1 ^1、请求跳转
. w; h0 Y# \' p; ?8 [目的是如果请求为.jsp文件,则跳转至其它域名访问。
0 |) L; `1 @8 ~$ F- j$ d+ w7 I例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页! P- l5 y6 X& C8 ?
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。& K+ }0 I- H; F; d/ f) W7 F5 p$ s
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容# h- _. H! H; z7 O% h9 `
  1. RewriteEngine on2 v/ d) w: N1 O( Y% w, Y# k
  2. #开启Rewrite模块
    ( b* y$ I) T) s( ?, P: o/ z
  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为不区分大小写
+ _5 l* u. a, W3 {- k2、域名跳转
$ m  m; _" N8 K: G" g; B4 {如果请求为old.xp6.org下的所有URL,跳转至b.# ?0 N6 c, L# h
  1. RewriteEngine on
    : {# |1 h- P, T
  2. #开启Rewrite模块
    * B7 e5 Q7 c, p3 Z  X' |- Z6 I
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]" ]* d9 z7 n  M4 j$ q
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符
    ; P* ^4 [# l7 k+ s
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链1 o( ]$ S. V5 N5 Q6 n
如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
9 ?1 _( v; f- f6 O
  1. RewriteEngine on
    1 @7 E$ v+ u5 ?( U
  2. #开启Rewrite模块
    2 ^8 S% f! T1 Y! U; H& \
  3. RewriteCond %{HTTP_REFERER} !^$
    3 v: T' n7 F0 }% E1 ^  }
  4. #如果不是直接输入图片地址
    ; M! f  b% @+ s1 o( j9 \8 d
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]1 M: F2 [9 M3 }, n
  6. #且如果不是img.xp6.org所有子域名调用的6 P1 T7 W: S- Y) |5 k$ `
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]$ E4 a7 |7 T! c+ I/ [
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    . g8 R( v  a/ W" d, N( v1 u
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]- t8 r# F9 @: W  \" D2 @5 x
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]
    ! H+ U" @' |( j8 ]/ ~* d
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]
    2 F' L& L/ _. d& \; L% J+ |
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
    ! L0 @2 G" R/ K
  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文件9 O7 U. g9 s$ p3 `; Q7 h
在Apache2\conf\httpd.conf 最后一行添加
4 j3 g1 Q. d) x1 v
  1. RewriteEngine On
    ' Q7 x0 ~) [# T7 L$ }3 q
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪* F9 i5 h0 P% L5 e; K7 P/ L7 x

; U- _9 G0 h% ^3 u3 U# ?$ ~( S4 jLinux+Apache环境配置类似。
! j5 [, X+ b) `0 m% ~" r) J' a$ N
0 k' y; X& [% E4 E/ k" P+ s
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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