搜索
查看: 12321|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2
1 A/ ~; A( q$ x
! p4 y$ }* U8 B2 x; P+ z+ i- I; ]加载Rewrite模块:
& i4 V$ y3 C; E在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。# s# m  C- r8 b* v! u: W9 g; j
' A& _7 S0 j* E  H1 {, g
允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):  _6 E5 Q" e' A$ z, o/ f- R, d
" f% w: ]# U/ i/ n* R$ N; U2 i
# AllowOverride controls what directives may be placed in .htaccess files., Z( y4 H7 U3 p9 g( ?' i2 r
# It can be “All”, “None”, or any combination of the keywords:0 ~" H# e" N3 B8 S; q# v" }+ x
# Options FileInfo AuthConfig Limit# w' d9 ?6 Z& r1 a" p2 |; o3 i
#
- {7 Y, }+ o" c, p+ H2 L" Q% P2 lAllowOverride All
( W" ~, d% r$ o+ [. {
! d' m5 z5 ?0 J+ f) D. F8 m在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
7 L2 J# t6 c0 Q8 x# c6 C2 O( M% J
Apache Rewrite模块的简单应用:
$ S0 I2 `/ G: t7 e  [9 E/ Z3 n8 hRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。) \+ v( }" p) e2 h9 r  ?8 r, h* ?
9 J; r' r( G' ?" T" n8 z$ ]
1、请求跳转6 V4 s/ t; g* U8 t
目的是如果请求为.jsp文件,则跳转至其它域名访问。% L& k9 u6 E2 _
例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页* X, @) H% b9 c$ d! r* T- F
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。/ o1 l7 O- S) R8 F0 \$ A2 X) ?
修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容& r+ s  D0 L/ X: o2 Q* ^( Z
  1. RewriteEngine on
    * ?; h+ g+ I  y6 [! o3 T5 m
  2. #开启Rewrite模块1 p4 h1 K6 g" m* B
  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为不区分大小写% ^' G7 R& I5 i
2、域名跳转
4 F' Z: F+ @: \如果请求为old.xp6.org下的所有URL,跳转至b.
' p; T5 f6 P; G, g# x* P  m
  1. RewriteEngine on$ W% X# v, b3 h
  2. #开启Rewrite模块7 y4 ~* i. X) ^2 d! o1 Q# ?. k
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    8 K4 f0 s0 k, \0 P
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符, j) i( b6 @. M% l9 A& h
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链# f5 C: j4 w4 L+ a
如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容
: x0 L2 n0 u/ P; p
  1. RewriteEngine on
    7 N9 l; P) j) }5 b) b7 U
  2. #开启Rewrite模块
    % z  v' X* m2 {7 b9 e
  3. RewriteCond %{HTTP_REFERER} !^$
    9 F4 S: N4 w9 y' W7 B
  4. #如果不是直接输入图片地址
    6 M; W& z$ X# n, H4 P7 {
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]
    # B6 g0 L& b% b& v4 d: U! G, W0 ^
  6. #且如果不是img.xp6.org所有子域名调用的
    7 t& d" s/ N) H3 g
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]) `% r  L- Z  o8 P: O2 \
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]
    + E. z* s' n* x
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]
    ! b! C# @# Z( R
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]
    + h$ Q0 n  h; \
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]
    2 A8 `* z3 P. l( Y3 A
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]" q1 [- P' k/ E
  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 R- L2 C4 q' O& P
在Apache2\conf\httpd.conf 最后一行添加
+ A7 U) O4 U4 C- ~
  1. RewriteEngine On( O! V; |7 i8 _  k, v$ u% X
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
8 K. q- l( b  Y& k# i- m9 Z% P5 i$ Z! F' ?2 r. O' i" P
Linux+Apache环境配置类似。
8 S! P. y% ~* X$ W& w
4 B: ?- F; g7 }7 O3 Z
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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