搜索
查看: 11940|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.26 Z, z4 ?+ x- `1 P8 J9 U7 |
4 Y( j, t, w  f- m$ B* V* M
加载Rewrite模块:
9 `! @: i* U7 c. R) \- S( B$ }在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。
$ Z5 a! k0 E1 R: b' s1 }
0 }* Y8 Y% h+ ~& j允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):( Z* a1 v) Y5 f/ f7 V+ U

6 C  \, m' |' N1 v. Z# AllowOverride controls what directives may be placed in .htaccess files.8 ^; Y* @- C, N
# It can be “All”, “None”, or any combination of the keywords:
# [4 y$ x! L' s7 X9 h# Options FileInfo AuthConfig Limit' n( B1 a: C. s0 P5 H* P7 K! u- g
#
# F" N' U" a; j2 f* T5 iAllowOverride All
! O3 Z7 p# g: j6 @- ]% h. F/ r+ F
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
9 z* I8 b1 ~& p( v, T4 {5 @0 R0 d( c$ T0 ^
Apache Rewrite模块的简单应用:
, `5 X" U* w) I$ f" }3 @Rewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。
3 h0 \) f5 _, |- Q: |3 P5 w9 j& _  c1 k
1、请求跳转
; G3 F) Q5 S1 [7 C5 G0 c目的是如果请求为.jsp文件,则跳转至其它域名访问。  l* l1 |; j* M  w2 v( `8 l
例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页
+ e' ^: M) [: [, M  [; l注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。, A4 x9 a# L# S' f
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容
' C9 Y5 [2 U  U
  1. RewriteEngine on- ^$ f/ {  \' x  D3 p% k) a
  2. #开启Rewrite模块; `+ ~" q' a( M5 T
  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为不区分大小写
5 t/ ?8 P7 a$ T9 j2、域名跳转
8 ~. C* p4 d; b如果请求为old.xp6.org下的所有URL,跳转至b.
6 N: y& }% q3 R7 z+ R/ Y
  1. RewriteEngine on, |: A9 _5 L( O. F4 U
  2. #开启Rewrite模块
    : G2 }) d) \) B1 ]: b- N
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]& S: b, o+ v# u& y# b% t
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符
    5 K* L/ S# I3 {7 _6 G& a8 x
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链9 G  S$ l4 V% K2 J, E! _0 g: y: T
如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
! M9 ?! b0 T# h" d
  1. RewriteEngine on
    4 B. A. X: ^7 G' j: T+ B0 Z7 \
  2. #开启Rewrite模块0 _. {+ e$ x# x9 @( F- z9 V
  3. RewriteCond %{HTTP_REFERER} !^$4 ]) ^( c9 v: w# U/ x. L4 M
  4. #如果不是直接输入图片地址$ d" g; x& K" b4 |, J. u! F
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]* |5 E; `; p- A! w
  6. #且如果不是img.xp6.org所有子域名调用的
    - {( b4 N, c( k' O! S  f
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]- J* S( o. O' |  h% y
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    " ]* H0 e; e. O& k+ ~& f( @6 K
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]
    : x, j5 a+ Y, r2 A6 T* \; R# c
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]
    0 v' [& P+ E8 Z8 N
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC], c' c2 J! c5 A/ k' k
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
    5 W$ w) q4 t7 ?6 O( P1 a" x
  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文件3 z/ r" p$ \+ |2 I- i4 K
在Apache2\conf\httpd.conf 最后一行添加
" l7 x5 K8 {7 t
  1. RewriteEngine On3 Z% L+ U  a* C; C. s
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪0 v( p: z- u# Y& P
. R" x% Y4 b( r! _
Linux+Apache环境配置类似。
/ w1 f3 y$ i  @5 U, _: q
; j8 o9 d9 m- `
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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