搜索
查看: 11812|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2% X( q  v5 |+ p" x7 i: C
, d: p2 @( n5 t$ Z) J
加载Rewrite模块:
& c6 ?' p3 `. u; f在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。
( F8 C) c7 Q" g$ x: k' Y
; n0 Y* Z* d( v8 R# I允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):
: T# s" Y2 J8 r; X- \8 I. R
3 G4 n7 I7 R; g* p+ z" B# AllowOverride controls what directives may be placed in .htaccess files.
' G3 i& T& i9 Z2 L' }8 O# It can be “All”, “None”, or any combination of the keywords:/ ]! j) v# R9 w8 L7 k+ X
# Options FileInfo AuthConfig Limit: b. f# P4 S+ M$ o" u# m/ U0 b. K% o
#" b# a, a( P% a) T1 g
AllowOverride All
5 R  s$ @! C% s
  A' W" ^$ l; ^$ }$ m# o$ G在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
/ D+ F3 L0 }  C4 Z
3 y# U6 |' H+ G8 B2 M9 ^: yApache Rewrite模块的简单应用:
$ N6 C4 N5 Q: u4 v( s0 eRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。% C4 J4 F* u5 `- a/ f" o) `$ x
2 _: W2 |: K1 h( b3 c  t8 u
1、请求跳转
+ S0 D; l% A( U" k3 Z目的是如果请求为.jsp文件,则跳转至其它域名访问。
  H. u: l- D6 x, y4 I8 F+ }$ u例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页1 O* F  e. P. n" f
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。
9 U9 ]6 x. _% u# f: c5 O* Q( _修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容
' w+ k* S% V  Z/ |" W
  1. RewriteEngine on
    1 U. o4 c0 [# w
  2. #开启Rewrite模块  Y) m2 z' ~- f# i- p
  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为不区分大小写
6 R7 a: l: @; J; N& v2 M9 I& q. G2、域名跳转; c: c& J! }9 P# K" B  D" v
如果请求为old.xp6.org下的所有URL,跳转至b.$ X/ G0 l6 D; s2 c1 ^0 J# j% m+ X8 Z
  1. RewriteEngine on
    " H& ?' V8 t" o- i% _
  2. #开启Rewrite模块4 }" Y( w9 H# r; f) e
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]8 ]  d5 W& p2 `1 W3 Q
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符
    2 g) [( u! h1 X' q, j) W) H
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链
* D9 n) R3 X$ {/ n: R如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容; y; A9 L0 n; i7 k
  1. RewriteEngine on0 D6 u$ a3 c* j, B2 v. E* `& z
  2. #开启Rewrite模块9 C8 Z1 @( p% T7 S  J! {( i
  3. RewriteCond %{HTTP_REFERER} !^$
    % C. M4 R; ]' q1 h8 r% H* J5 X/ R
  4. #如果不是直接输入图片地址1 W; D1 J7 c0 ~% G) J. B
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]% Q$ A  m2 E: Z$ |& l# w) ^+ w
  6. #且如果不是img.xp6.org所有子域名调用的, y4 z* v! L; c0 n, y2 M  I
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]8 E/ t5 e% V% r9 L1 ]) h
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]' @* a/ ~( C+ y( P+ ]$ t: ^" H0 g
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]! X- Z3 ]6 `% ~4 h( m
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]6 ?7 t- S  D# c, H6 `0 D
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]
    " s7 L# L# y. D- `* s
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
    ' p7 p& A2 a$ D1 \& Q- 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文件8 p* b8 `- y5 m# q
在Apache2\conf\httpd.conf 最后一行添加$ s7 k3 I0 ?' E3 V
  1. RewriteEngine On3 g- v  H: t# y5 v
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
. t6 f/ j- o" S/ j: u
" V$ M# [  K( w% X+ o: SLinux+Apache环境配置类似。
+ B# T' W" Z( h6 e9 m/ T$ T$ r7 v: |
7 m5 o& c/ t) F3 \- z9 i8 i
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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