搜索
查看: 11731|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2; S0 \+ r" N0 m2 P  ~% y+ b- Q
1 R/ }' P0 L% d! ^3 B" w
加载Rewrite模块:
4 }9 g6 m6 P5 _在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。& ]2 f2 z& I) ]4 F9 W) e. p/ J

( i! A7 S& p# ]8 L允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):
& A* k! m' {% j! I* ]" D/ h& ?/ Z4 ]  T. k# ^# j. \  l1 A! C
# AllowOverride controls what directives may be placed in .htaccess files.6 A; d  k/ c5 Y5 p
# It can be “All”, “None”, or any combination of the keywords:% w" I( D! A% O: `' ^+ v
# Options FileInfo AuthConfig Limit: D# v' _1 m7 Y: s* w" k+ J
#4 ]) F) A. Y" X9 |7 P- P! l" l
AllowOverride All, s+ {( L" w$ q3 a% O  d5 r
: @& ?, ^# B  s
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。8 K& Z; w5 F) I. _* u

0 D/ |1 `0 x: B1 ~( oApache Rewrite模块的简单应用:0 Z, ^) |& l; c3 F# `5 p
Rewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。
) g7 [( Q7 f0 h( S$ Z1 Y" x% r* I2 N9 h- y. q5 U, O
1、请求跳转
- ^: v9 S7 _, j3 b! F; E+ G. m目的是如果请求为.jsp文件,则跳转至其它域名访问。
  c% H# y, v) b& F* a& O) [例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页9 j$ V) N/ L; i
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。! A' t1 e3 O4 ]4 T  Q. W
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容. @( w9 @, I' c5 q* R$ I
  1. RewriteEngine on! X3 q" r# g! k9 R; c4 I
  2. #开启Rewrite模块
    # Z7 c4 A! B& T& f- R7 Q) J
  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为不区分大小写' o6 D3 Z) v! q: J& b
2、域名跳转" K$ ?/ N- o0 \# d0 P
如果请求为old.xp6.org下的所有URL,跳转至b.+ b3 s6 m  Y% s' \8 h3 {) T
  1. RewriteEngine on
    * H: |* C" k2 I# S7 H, i
  2. #开启Rewrite模块% ^# Q* t' O8 _4 r# A; x; [
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    . ?( E/ W4 Y# G; I
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符# g$ e' s( n& ^" U7 [+ a
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链
; J' j9 j; j) w" Y( _! M% [如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
: V7 Q/ k5 W* ^! d* F( K
  1. RewriteEngine on' p0 U+ c' r4 L( _
  2. #开启Rewrite模块3 E: o+ @8 c$ q. N! \% {3 t% _
  3. RewriteCond %{HTTP_REFERER} !^$( L) v% U3 V- o
  4. #如果不是直接输入图片地址/ Z% `7 V9 N1 G. }4 i  z
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]
    - R6 f; g* N  n1 Z
  6. #且如果不是img.xp6.org所有子域名调用的& I3 c' a% D& z* k7 h. X
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]8 C% B) {+ a& Y( c* ?4 \3 T* p
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]' o6 Z; t( d  r
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]% u; e6 o' H2 n
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]
    ( Z& _4 b/ U# _
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]2 a+ _8 Q( l0 s' w/ y- l
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]' Y/ e4 q0 }$ W: y4 j1 m
  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文件1 o* i: A5 c2 ]3 V( O
在Apache2\conf\httpd.conf 最后一行添加
$ i9 c; A, x% z9 B+ P1 R
  1. RewriteEngine On) ]' ?7 N( [7 z+ q
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪: g$ X- a) V( b4 q- p

$ \: D& d8 Z. F9 v+ yLinux+Apache环境配置类似。
( P5 B5 E7 _. c8 T9 U& r/ ]$ p, c
3 A" H( V) J$ d! ^1 r$ Y) j% p
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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