搜索
查看: 12414|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2# e& T& v0 O* e$ T

4 d5 g/ l1 V) n( t* k4 |$ j: l加载Rewrite模块:
  ~' w0 x7 O6 e& j; |" C在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。
% q2 X$ m7 `7 D  i* K
! X1 C' n( I( U5 l& u允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):8 x8 F3 H2 [5 u& B- P
! M' h+ u4 |6 M1 i9 q
# AllowOverride controls what directives may be placed in .htaccess files.$ ~" s! Q  d5 E$ s3 L% ^0 h
# It can be “All”, “None”, or any combination of the keywords:6 G9 f2 ]3 e& z# m1 j) _
# Options FileInfo AuthConfig Limit
( ^1 J. d. I# h  O* ^#0 o1 v2 \! Q( \5 R' I" v
AllowOverride All
) e, c" l( W& q4 g+ A8 ^$ ]
: V/ ^9 x3 O( T' o7 z3 u在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。/ ^% z$ D" p% P# r; k
9 p1 j# s) u' K  r; d. G+ t' O  h4 V
Apache Rewrite模块的简单应用:
2 [% C3 e/ ?2 p; D6 KRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。+ A7 @) u% \3 ?* F# R9 @6 M' u( w
) p$ R) s0 f% o  ]8 i
1、请求跳转
) ?" L0 F  E* d% V2 ?- K4 v目的是如果请求为.jsp文件,则跳转至其它域名访问。1 i& \& t! S( P; G4 |! ?: I
例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页. V0 q# G& \( Y/ [  z8 {' T, b
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。1 j# l5 L9 @% ~& P) |. ~2 }
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容
) _0 K1 N  o( j+ Y
  1. RewriteEngine on- F: o1 x! l( g  n
  2. #开启Rewrite模块6 K2 r$ X6 o1 i( o% B+ S. q2 S( U
  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为不区分大小写4 D& N5 @1 m: S; O, b
2、域名跳转( u3 d* O' V+ F) A, A% z+ W8 F1 g8 G
如果请求为old.xp6.org下的所有URL,跳转至b.; |1 E$ H. s2 q! a+ C3 a
  1. RewriteEngine on' p8 U3 u+ _0 L/ O* P6 K$ ^1 z
  2. #开启Rewrite模块
    # n) w5 ?3 Z2 H" Q& a
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    ( ~% U! n7 p9 ~  U4 q% W' v
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符
    9 A' v+ h3 w& F8 ~* l- n( |5 t  W
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链- T( }9 U7 G  f: M, Z
如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
7 `0 |2 w. z1 G  L6 S. f$ s# @" ~
  1. RewriteEngine on6 j( B. h/ M1 \2 ?! x1 H
  2. #开启Rewrite模块
    , f# d+ T$ B  f* \4 u  ]
  3. RewriteCond %{HTTP_REFERER} !^$' D; B! z) n' v. C8 |; U. R. z$ r. p
  4. #如果不是直接输入图片地址3 s- x) [$ P4 ?5 W
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]
    / w3 ~# D: p+ E% }' P0 I" R
  6. #且如果不是img.xp6.org所有子域名调用的
    " g" t- y$ |+ @5 r) [
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]
    4 j: D9 C/ A& Z$ ]# ]! G
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    9 Y, E; p" n  ^) T
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]) D7 ^" Q! C2 C
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]
    3 `: S. _: v" h+ X( V; @
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]' o- ]) A4 m1 F. d+ l. I1 e
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]4 C4 ?7 M8 B# H: S
  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文件
$ [' z* M( l7 I8 b. u在Apache2\conf\httpd.conf 最后一行添加8 [! A; B8 }. H- {8 U. R
  1. RewriteEngine On1 L. q8 s9 n2 a9 K- {: U  T% I
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
& D3 t" v  j( |. ]' o" ^* a, c3 \, @
Linux+Apache环境配置类似。
) v) y. U9 w0 z" f* a" V6 C4 |, k- R9 J$ l8 R; |( G
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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