搜索
查看: 7474|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2& |  K: x  |! i1 h
/ Y3 y5 l- P2 r6 u1 M7 D
加载Rewrite模块:
- C& C% E: @2 t( k# M在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。
2 J$ V: h; n! J4 d' j$ @9 U/ t' a' p0 ]; u& _! R: r) R
允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):( o* t! k* f+ T9 V# K' M5 x, u

3 n. \3 i& g* Y6 w# AllowOverride controls what directives may be placed in .htaccess files.) ~% L/ Z, o$ d
# It can be “All”, “None”, or any combination of the keywords:
+ }$ B5 P& B4 i. @# Options FileInfo AuthConfig Limit% q. ^1 u2 @" _7 F* i# s- c! w. Y
#' o3 B3 _$ T7 B1 ]
AllowOverride All
3 d8 _, G2 v7 y" y/ |1 Q$ x8 o, Y& E8 G
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
; a, d& G# n, ]! j7 c6 {6 T; d  L" L- ^  o
Apache Rewrite模块的简单应用:
' O6 d6 `. e2 ^/ j5 u! \- E/ ERewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。$ q& n* b/ `- `

# p' `: P# P! f2 L1、请求跳转
, D# X1 {! G, `4 `6 o$ q目的是如果请求为.jsp文件,则跳转至其它域名访问。9 v( w$ b( \% y* Q7 Q
例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页
* H5 ^1 M3 j+ v+ g% T注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。
# k+ J) z' F8 C0 g. F修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容' ~4 I' O1 \  F$ r1 x
  1. RewriteEngine on
    1 P: d* @2 C" q8 C
  2. #开启Rewrite模块' S. c/ ]4 A3 g+ v( R8 }7 P6 m
  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为不区分大小写
, V1 B( ]0 D! B) ?# o/ d) T# f2、域名跳转
4 z& m( P( n1 Y& h+ `$ O如果请求为old.xp6.org下的所有URL,跳转至b.
& [& G: y# G/ U' u$ a- T0 m
  1. RewriteEngine on
    2 O7 ^" Z+ R1 W7 d* Q, g6 t$ \; u1 b
  2. #开启Rewrite模块
    ) ^- ?/ ^  A' T+ R4 [8 I' n
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    4 {* L4 ^& i) _
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符
    6 p+ O, z' g6 C1 i( ]
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链7 T9 T* W& @0 N2 G
如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容) V/ ^; `( l/ b" K) f
  1. RewriteEngine on  e8 X0 c0 z2 y, n7 U
  2. #开启Rewrite模块' a9 ~$ G. P/ \
  3. RewriteCond %{HTTP_REFERER} !^$* l- Z: \( D: y1 f% V
  4. #如果不是直接输入图片地址
    3 \# x6 J  A% W
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]" U$ b* S1 j$ o+ a  V6 ]
  6. #且如果不是img.xp6.org所有子域名调用的5 V' Y; W: V" q8 i  g  B
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]
    & K3 U8 j" ~  R! b9 e" T
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]9 ~1 x1 U/ h# N, }+ [! e( g
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]- o% W$ o9 o2 [8 I6 @2 m/ Q0 y: s& U
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]7 m4 n1 S0 {9 _$ p" W% Q; D
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]  T; a( o+ Q' S+ Q; _
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC], a0 A% O' t% J9 P
  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 X, o7 g/ e; P* `" Y在Apache2\conf\httpd.conf 最后一行添加9 j3 ~! ^+ C/ b4 i# e
  1. RewriteEngine On0 F0 q4 N1 X  U) |
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪) z$ y$ o8 A& ^8 V2 ]/ y

8 [/ G: E2 U1 s$ F& W- Q' F$ v8 HLinux+Apache环境配置类似。! Z2 N& s" J7 ~5 B  R; K

  e1 J: [0 h. h$ i0 \: Z& Z& L) R  u
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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