搜索
查看: 12381|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2: F7 I& K- Z$ z* O8 [2 n1 V
; \* V7 w0 Z. v- V+ L9 J8 D0 V/ k
加载Rewrite模块:
, i, H; p0 K6 K/ [& H在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。
7 _: I9 z; r" ^# h9 b* A8 ]
4 w3 O# @; w- M+ }0 V5 N. ?8 d0 t允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):1 a. c; L! l+ C+ u3 j5 |
7 `( }- X: a: J. ?1 n8 _0 n! y
# AllowOverride controls what directives may be placed in .htaccess files.
% R& R( O' [$ D5 @# It can be “All”, “None”, or any combination of the keywords:7 u% E8 R7 t3 a" h; m: Q% o
# Options FileInfo AuthConfig Limit( F$ B/ m2 [" S9 k' t2 U1 B
#
- ]* a/ b/ [, B* j+ U1 gAllowOverride All
- j- S: T/ g5 Z' U3 a" u" D+ N* I6 {' E& M4 b0 R$ s" a; v
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
* p* [- f- \1 g! |& g: h5 a0 C6 N1 P2 a2 x
Apache Rewrite模块的简单应用:
$ |7 ]6 ]4 w( m+ A8 qRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。
7 P0 b3 i( d. d1 I( Y
: d2 C" E5 e6 c7 l" @6 ~  e1、请求跳转7 q: z  r  ~+ h% V# b* @
目的是如果请求为.jsp文件,则跳转至其它域名访问。
4 i, d* n2 h# E( M0 z5 g例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页
# S! o" d* P$ \7 a6 ]$ b2 f7 w注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。
" m. ?: ]! I  K2 Y. n7 |/ T. O修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容
  ]( ?% v9 n; l9 \3 N0 A* ~$ D
  1. RewriteEngine on
    " o) Z3 }' H$ Q4 E
  2. #开启Rewrite模块
    , _( ^$ v& }7 u  k( o; 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为不区分大小写1 V0 J4 L, r- u" Q% Y/ \
2、域名跳转
4 A0 U+ ?5 m6 z1 ?如果请求为old.xp6.org下的所有URL,跳转至b.
. c, s5 [, a2 x7 @$ S
  1. RewriteEngine on
    6 _# X  y! P4 H+ K' \) v" G% @
  2. #开启Rewrite模块
    $ v# V* D9 I+ W' _5 _! c+ z
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]& j( W$ U0 }0 S: ^- p1 N
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符" k) j" |, p( V% n& y! D% L
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链
9 s( D2 {; f, A8 w如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容* B) l1 w' _  n6 `, k! E' g
  1. RewriteEngine on
    : F' ^4 V! p( d# D: k
  2. #开启Rewrite模块, S, M  J% T% |4 V( b" j6 B0 ?3 Z
  3. RewriteCond %{HTTP_REFERER} !^$. B" ^( ~/ Q8 t- C# f! g. n
  4. #如果不是直接输入图片地址
    8 y7 M( c) n. p* n5 ?
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]6 j3 ?6 g# ^- y  K: _
  6. #且如果不是img.xp6.org所有子域名调用的9 w& a# T, _/ K# f) q5 t# N
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]' L1 Q  o9 w( K5 l. U
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]) a  \' s6 t9 @' {  [+ u
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]
      P4 J9 ~! A5 M5 e4 j
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]
    1 v/ M0 A' h. [& T' m* o6 Z
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]4 e+ z: O# e( Y8 F% _2 s8 n- [
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
    : J7 \) e+ `  T+ D
  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文件
. J/ }0 `3 z3 A8 `8 i1 F在Apache2\conf\httpd.conf 最后一行添加
* }6 W! a9 b3 n' A
  1. RewriteEngine On
    * Q. I4 x- t! x( m; f* G
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
4 v% g/ {2 U5 j- _2 v, m: Q. W6 @# G5 q2 ~/ T6 n
Linux+Apache环境配置类似。( ^* \5 J% B2 Q0 T
# E- y3 i  j* B- b, T5 Z7 \. N) T+ d
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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