搜索
查看: 758|回复: 0

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.28 U0 ]  S- J" [; S- C( E

. Q& q6 t  D( m3 \# W& i; e! ]9 Y加载Rewrite模块:4 T  p7 a5 M  y0 p4 P
在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。3 P& \) P0 z' u5 D
' Z+ F5 o( C3 P  v  ~3 y' N
允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):
: x3 x) _$ A) _' T4 W
  o+ W* F; W" d# AllowOverride controls what directives may be placed in .htaccess files.. W3 v2 x) S0 S8 ^1 ^4 q% e' I
# It can be “All”, “None”, or any combination of the keywords:
# F  z% `* |, A6 p4 `/ e! z# Options FileInfo AuthConfig Limit/ o# j! `. M6 [- e9 V0 P7 X
#
2 Y9 n, n2 d: w% h5 GAllowOverride All% L$ x% t/ e! `9 P) `, ?- n. Y
( e9 H4 ^5 Q) L  G# s' |8 v# }
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。) S' z8 W) a/ x# H9 \" f

) d' k: v$ p# r& T; {$ \Apache Rewrite模块的简单应用:4 t: z& _- [$ v- `+ v! b
Rewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。- A$ s  \9 f) h! Y. {% n
2 q; b+ w2 _. }2 R% |
1、请求跳转: t( t& S' Y9 i
目的是如果请求为.jsp文件,则跳转至其它域名访问。1 O6 c4 b6 m2 R
例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页3 B  j( y) ?6 |
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。; w" L/ x/ ^8 p$ Q$ q2 c
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容5 b5 l) a* J- J* x1 R3 w
  1. RewriteEngine on$ N5 c% v, o- u0 _% H
  2. #开启Rewrite模块; H5 U% d6 q8 i* ]
  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为不区分大小写' X. P! Q4 c- H0 P2 a
2、域名跳转
9 D! T. h( W( a2 E2 A如果请求为old.xp6.org下的所有URL,跳转至b.
* I2 T$ L9 y0 J
  1. RewriteEngine on- V  i' `0 s# b, _
  2. #开启Rewrite模块' P9 {$ V3 E9 S( W! o0 k
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    " S$ G0 ]  y4 G2 l2 V7 _6 k
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符& T$ T) g/ a  H, ^* Y
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链" w7 I( d: n3 t2 h" m* J& v/ w0 Q
如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
1 x( k6 ^8 \- I6 u! ?7 X0 q
  1. RewriteEngine on0 m; }% w) t, e: i4 A" [' ]+ M
  2. #开启Rewrite模块& ~9 M, m  d4 L* {, \9 |
  3. RewriteCond %{HTTP_REFERER} !^$+ o: G/ {/ H- g3 G' q+ u, h
  4. #如果不是直接输入图片地址
    - i" ~& v% J, z& V
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]" i8 _/ K0 ^1 W4 [
  6. #且如果不是img.xp6.org所有子域名调用的
    ' R3 V" e8 y6 R) |9 |3 V% |
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]
    . s4 l& i8 z9 o5 c, L0 }# Z
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    + v) L! V/ V2 F+ X* C- T$ X7 k' v7 q
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]
    " S: V9 k6 D" s0 a$ \# F) X
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]
    8 m, h3 U: r1 V" ?7 e
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]3 _1 s3 j( k: Q7 r# n
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
    3 B$ q& n  g, m7 ~( t
  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文件+ X: a3 @' `& ^' D# K1 w
在Apache2\conf\httpd.conf 最后一行添加
8 \6 X6 e* E1 a4 `% Y* ?  ^6 _1 S
  1. RewriteEngine On
    5 N2 g3 y5 w1 D: Y6 K
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
, T& _7 L, C0 j6 U& z5 N8 `
% n" d  f0 X2 TLinux+Apache环境配置类似。
" p$ j# B+ S1 M4 `  \& `
( c# I4 J% w. L* ]; X( L
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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