搜索
查看: 11954|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2& T9 R  z* N0 W; O+ l; p9 ]
- m' }# h9 S& E+ _& ?( E
加载Rewrite模块:
' F, p  }8 S7 a6 x* ~在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。; I9 T0 o; ]& b" B* l: Z4 z7 R* {

2 }# Z) g- y5 }" w0 y允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):6 k& L, g, S2 ?0 }7 h+ T

& n; v+ h& T  J$ m" c# AllowOverride controls what directives may be placed in .htaccess files.! g8 ~! {. t5 g6 f" J" N/ i
# It can be “All”, “None”, or any combination of the keywords:
9 j2 f' F! \& r; D' N6 t# Options FileInfo AuthConfig Limit
, G+ A. m/ T( p# m0 D5 l#, Z$ z% T) i/ y
AllowOverride All
" X9 q/ y" @1 E- o# [) Q9 l( q* U! Y1 C
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。, L6 D# e  q+ B7 _/ U) L

$ I) h# n* f) R! n/ OApache Rewrite模块的简单应用:
' N0 Z* ^" `6 H9 L  N9 x) ^/ _5 e5 ~Rewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。3 b) ^6 p5 U& C- `& l' _/ `9 J

2 [" J! p/ \8 w  q! V: p& s9 i1、请求跳转
& M* R6 O7 w6 G3 ?目的是如果请求为.jsp文件,则跳转至其它域名访问。
6 u* V; b+ M) l. Q, W% n3 d" c例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页) U& {) |. `4 R/ Q! }* k: r
注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。
! ]5 K4 g8 B$ v. ^& Q: o" B修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容: [3 @+ i' R9 W- N* U$ Q- _
  1. RewriteEngine on
    9 i0 y7 O8 z0 g2 K1 A5 B# x
  2. #开启Rewrite模块
    * U( i# I) E  c+ `. s
  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为不区分大小写7 {6 g9 k2 V6 ?  l, Z/ R
2、域名跳转& o& a6 s" y- Q
如果请求为old.xp6.org下的所有URL,跳转至b.& x% _4 D, V8 t- P9 e- n, B
  1. RewriteEngine on
    ! K- S: _+ v& W( G- n4 b
  2. #开启Rewrite模块
    2 {5 O: n+ U9 ?8 _. V4 e
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    : S- y5 e6 B& S) D+ Y" D( e) Y3 I
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符$ B+ {4 i2 c$ n: E* F
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链! W- e' C, A" K( c# y$ r
如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容7 f, D! Q6 b) [, S: j7 r
  1. RewriteEngine on
    , y' O. V4 p! [# F2 _
  2. #开启Rewrite模块
    9 U9 x- p+ P4 g2 J) n; m- B* N7 M% E  [
  3. RewriteCond %{HTTP_REFERER} !^$( [( a7 L+ r# g
  4. #如果不是直接输入图片地址) {# j- E+ O# [+ \$ k1 E
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]
      w" z  ~9 `+ x' L% a1 G9 J
  6. #且如果不是img.xp6.org所有子域名调用的  G+ m" ^" M8 _, `
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]
    : N% v1 U: S& {  u* W* W5 o
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]+ F4 P1 Z' ^3 [
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]
    ' a% Z, n% F* w+ M( Q' a- [1 Y8 N3 h+ X, Y
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]* \1 l1 Q* v1 e2 J4 C' a
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]6 A& k$ W( s. b. N% w9 M
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
    ) ~6 `. V. r# ]" K! c- k
  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文件# Y# i8 {% t# H8 b/ n' L
在Apache2\conf\httpd.conf 最后一行添加7 d0 [+ f6 y2 T
  1. RewriteEngine On! q; _/ n  B* H  P# ^& f2 P
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪3 I4 m4 P$ c( E  N

; @1 K3 M6 K. pLinux+Apache环境配置类似。1 ^& L; G0 z8 p, F

6 B% e! a, C8 a, K- l; o
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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