搜索
查看: 12146|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2
- i1 ?. C0 h, _+ @+ v% T4 k4 n( k+ u5 c- u  k' ?
加载Rewrite模块:
0 q, y% E; f2 e5 Z/ w+ b4 \4 m在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。
7 `3 G( J' I6 P2 G9 B* D) C: G$ L" }
4 w" y5 i# D1 Q( }% e允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):% H. |1 c' \/ b

# j0 l) `, w  P' j) z3 K. j6 w# AllowOverride controls what directives may be placed in .htaccess files.' d) c: H& r' d1 C! I* S6 F
# It can be “All”, “None”, or any combination of the keywords:
1 }- I) x" `: ?- A: T# Options FileInfo AuthConfig Limit# W' a' A- K) @) _; K1 k6 K. Q
#% Z2 `/ d3 O9 @' v9 I* e& R
AllowOverride All
7 B& \0 Z" v& g" J$ e: \! K1 s' q3 f$ _' X! T: Z
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
+ V3 v9 Q( i6 f" K* B
3 _+ ]9 N) ^6 P& I+ V  {8 t0 J8 HApache Rewrite模块的简单应用:
) Q4 I3 \, ~& R2 {Rewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。4 H* s0 }" E' ?5 z2 [, |
$ ^0 C8 l, h: s" F. i4 i
1、请求跳转9 ^  ^; v. f2 ~$ X9 @! P, t
目的是如果请求为.jsp文件,则跳转至其它域名访问。
7 V2 H* b% c$ B/ }+ U! N) |例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页1 @* f# W2 ]" ~: E
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。: [" m+ n5 Z- v/ s9 b' x, I9 F& b
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容4 R# }& ^* Q1 C  _4 e! C8 Y
  1. RewriteEngine on1 U. ^( B( p0 Q
  2. #开启Rewrite模块
    8 q6 ^! v, e3 M2 Q0 \( Y
  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为不区分大小写9 p/ ?+ ?2 p# _
2、域名跳转! k& i' q$ U" s- X, l2 m0 J
如果请求为old.xp6.org下的所有URL,跳转至b.
1 Z6 |: R0 ?: Z- `6 W( Q
  1. RewriteEngine on
    ' M' k7 }3 H& S1 s1 J. h, W
  2. #开启Rewrite模块% I5 P! s7 E, v: J; |  W" k0 a9 J9 j
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    ( t& S% g" X& `! [1 [1 p. Y( U
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符: D9 r5 h" [1 x
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链
  a$ c4 \/ v  q如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容2 E, M( U! G! J: v, ^4 ~! ]5 l
  1. RewriteEngine on
    0 ~3 w& V1 r/ K' ]7 Q# l+ c; G
  2. #开启Rewrite模块& p$ u& @0 B! h7 X( v$ w
  3. RewriteCond %{HTTP_REFERER} !^$
    - z! x3 i8 C) m+ [
  4. #如果不是直接输入图片地址3 O7 W' k0 B  N8 I/ N- U+ g+ A
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC], K5 M' O; W, x# g
  6. #且如果不是img.xp6.org所有子域名调用的
    . @) }- O7 S% w0 Z; X' Y% d
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]2 @* b$ b) W$ H* o- j: i4 O1 @
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    / D& L; u* O4 M. I
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]2 l$ t' O8 @+ ^: F+ A2 a  J
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]: c6 m: c4 q8 z: i
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]( ]& V% e. a3 l% o
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]" U) M" ^$ b3 M0 U
  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文件- ?- Q# F: g. j; C9 M$ ~9 [
在Apache2\conf\httpd.conf 最后一行添加8 M" F/ O* i! \  U+ r
  1. RewriteEngine On5 n% z9 E0 b5 w
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪! v, O, ~) ~% }5 o! G# i
! F# n1 a9 D+ L3 x& [
Linux+Apache环境配置类似。1 L: B8 X- E. u, P
8 o! j1 @  k3 G, Y
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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