搜索
查看: 12205|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2# h* I; \) ~/ G/ V7 h
/ j7 t4 o5 _# R1 R7 W
加载Rewrite模块:) G9 R/ h4 E' n2 {5 U
在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。/ U: m3 H+ q. ^# x

6 x, V+ K7 ^$ @, J7 k9 d$ ~& I8 v允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):
9 [# j2 [5 P8 Y7 B6 _, w, ^# a0 @; W5 _* r1 m, d. \
# AllowOverride controls what directives may be placed in .htaccess files.
& E$ ?# p4 F8 _2 O9 r; [- ?4 G9 A+ k# It can be “All”, “None”, or any combination of the keywords:
& B: k) x' ^" l; G* {* Z2 n# Options FileInfo AuthConfig Limit
& t% w& v" e7 |! J: f; m; ~#0 Z; N) B! D( Q% C7 y
AllowOverride All- x" V. |0 F  R9 s5 L

( K. O( J; g& ~* i( P4 g% Q7 n1 m在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
1 l$ I  }* W7 ]. G% v5 n+ s. O6 j# I0 Y2 [& e$ u- p( a
Apache Rewrite模块的简单应用:
. o5 C2 O, u% ^9 T% B# N" B1 aRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。  j: T& C7 Q( ^6 _% w

. r; h) r, y: y% c; p1、请求跳转0 M. s; k, a/ T! H& D' g# h6 m/ c
目的是如果请求为.jsp文件,则跳转至其它域名访问。
. ]9 Y9 p: ^3 m例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页1 u1 b' k: E7 D* P" A8 |, c& M: w
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。
$ h. L/ }& w* S9 D修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容
1 v4 T0 s" t1 V6 x
  1. RewriteEngine on
    ) j: [  [- W4 l# ~" l! Y
  2. #开启Rewrite模块3 H( _) k9 G! M' V8 T- 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为不区分大小写- u) d) S9 l; j: O, B6 }
2、域名跳转
% @* i) r) i1 P如果请求为old.xp6.org下的所有URL,跳转至b./ k  n5 ~, B! J2 E) ?3 N
  1. RewriteEngine on  Q' X( o. q4 a( s. r1 v, P
  2. #开启Rewrite模块. a' A" o; Z. X& {* c9 Z
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]0 {: Z5 s2 e2 K2 H* a
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符' w1 @; X: {7 R0 b
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链
* E# i2 t+ ^2 O' m* Z8 v如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
, r" N" T0 D( B. G3 s! {
  1. RewriteEngine on# U0 a4 o1 T, z
  2. #开启Rewrite模块  S* f  U+ j5 N  ~( G
  3. RewriteCond %{HTTP_REFERER} !^$4 T. W0 r/ D9 a  H, p* z
  4. #如果不是直接输入图片地址
    " E9 l- N1 Y( X
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]
    / P: {  C1 E/ g1 }8 `& I/ p
  6. #且如果不是img.xp6.org所有子域名调用的/ u. r. j4 R6 A4 h" ~* s5 J5 _- i
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]( g! G$ Q4 P% d! `) K" L) [! ^
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    - a0 E. r* a) z
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]7 a1 k' Z/ g6 X9 x( @: V! W
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]1 z5 w" s1 {( A
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]4 z* M/ k" G- Y* H; R" ]
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
    , D$ x, i2 c0 ?" k! G
  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文件* {6 Y/ U# @) d0 v. _9 |
在Apache2\conf\httpd.conf 最后一行添加3 ~3 E. f6 \' _) t& A9 F
  1. RewriteEngine On
    " n9 G( o4 d' J8 w+ Q) W
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
4 _! W& X- u! ~  Q! n8 V6 a2 s, _4 [# m1 ~7 ~' a
Linux+Apache环境配置类似。
! s: v1 G8 \% g% Z+ l% a3 \. I  Y, E6 l8 Y& w
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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