搜索
查看: 11894|回复: 1

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

[复制链接]
发表于 2019-5-13 09:29:10 | 显示全部楼层 |阅读模式
环境:系统 Windows+Apache 2.2
/ N% D; J, [$ G% n& A% m) ?1 z: j4 J1 W: f4 ?
加载Rewrite模块:" h4 }: r# d. _& P" M
在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。7 ^2 u! p# ~) a7 n% l

. c) o, V5 Q3 y, ?允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):. S* ?: X, n; |. F* S' U) a

$ Z4 z; N9 U+ b, |# G' r) ~# AllowOverride controls what directives may be placed in .htaccess files.
+ h. W5 A8 V- o' |5 e0 l8 M; E! k+ a# It can be “All”, “None”, or any combination of the keywords:
, @$ z+ p3 n; L5 X/ n3 N# Options FileInfo AuthConfig Limit0 Q9 i9 {; J2 c( }4 u4 p+ }1 R
#
7 J  ?8 r( E; {& s; i$ q1 LAllowOverride All2 j: E. V! L. B0 ?" Z+ I
' M9 T! J+ F" i; i! [7 R0 O0 p
在Windows系统下不能直接创建“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。或者,系统设置显示扩展文件名,打开记事本另存为.htaccess文件,文件类型,所有文件。
% ^$ c& t& Z; D  z# y; v8 X/ R& g) W& S3 w; e4 x4 R' |1 W
Apache Rewrite模块的简单应用:
* M, G6 o3 U& [& H2 s' `* B) C  vRewrite的所有判断规则均基于Perl风格的正则表达式,通过以下基础示例能写出符合自己跳转需求的代码。
) ]1 ~: Y: n' g2 O1 |+ S
/ b! q9 J/ L6 F; `# h- l* v; e1、请求跳转# F3 T( i1 j9 ?& B6 V) z: d3 i4 C
目的是如果请求为.jsp文件,则跳转至其它域名访问。7 y$ r% U- N4 W4 Q4 z7 n1 _
例如:访问www.xp6.org/a.php跳转至b.xp6.org/b.php网页,访问www.xp6.org/news/index.php跳转至b.xp6.org/news/index.php网页
( z' ?4 {$ Z1 V/ M( \/ y2 `; Y5 j" A注意:不是使用HTML技术中的meta或者javascript方式,因为www.xp6.org/a.php这个文件并不存在,用的是Apache2.2服务器中的Rewrite模块。
- B, x5 H6 i8 _% _$ `  W修改 .htaccess或apche的配置文件httpd.conf文件,添加以下内容
9 A3 [- e' L, K7 e. D4 b( z
  1. RewriteEngine on# A! i1 u9 `# d( D' J
  2. #开启Rewrite模块2 E6 Z5 h3 K' k5 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为不区分大小写- N$ Z% v: d  l4 H5 H' T! |
2、域名跳转0 L# N$ H2 ~* r8 D" B* q
如果请求为old.xp6.org下的所有URL,跳转至b.1 i/ h5 n  D+ k- {5 p' M/ u( q* ?
  1. RewriteEngine on
    - z  h$ ^9 @: G6 ^0 l! j
  2. #开启Rewrite模块4 ?: R7 R2 O6 i; @
  3. RewriteCond %{REMOTE_HOST} ^old.xp6.org$ [NC]
    . [3 o, u2 q" x
  4. #针对host为old.xp6.org的主机做处理,^为开始字符,$为结尾字符
    * \* Y* m( |7 i* L# E2 B
  5. RewriteRule (.*) http://b.xp6.org/$1 [R=301,L,NC]
复制代码
3、防盗链
! F3 r. \! i; V$ h. A8 U" m如果本网站的图片不想让其它网站调用,可以在 .htaccess或者apche的配置文件httpd.conf文件中添加以下内容8 \' O, j9 w# m; w! \
  1. RewriteEngine on
    . n' ~: q) z- \) [9 [
  2. #开启Rewrite模块# G0 A9 D6 P; x, @( d. z
  3. RewriteCond %{HTTP_REFERER} !^$. A% ~6 ~' k" T8 W5 i' [& R
  4. #如果不是直接输入图片地址
    + N5 Y. V( c& z) A1 L' l
  5. RewriteCond %{HTTP_REFERER} !img.xp6.org$ [NC]
    ! J# Q& y# y  q5 R) O
  6. #且如果不是img.xp6.org所有子域名调用的
    8 _, v, b! g( E- L3 }+ q: A5 q+ f" d
  7. RewriteCond %{HTTP_REFERER} !img.xp6.org/(.*)$ [NC]
    7 J0 V) M" r: \0 P" |8 g
  8. RewriteCond %{HTTP_REFERER} !qq.com [NC]3 \' C; f5 d) _8 x: X$ v+ r
  9. RewriteCond %{HTTP_REFERER} !google.com [NC]. j+ V8 l( o9 ?8 S' M& ~' w
  10. RewriteCond %{HTTP_REFERER} !google.cn [NC]
    1 @* h0 Z- Q2 E* ~6 A8 U. N
  11. RewriteCond %{HTTP_REFERER} !baidu.com [NC]
    3 [+ q" L- M; ^0 k6 L" |
  12. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]( s, K4 q$ [6 V( ^2 P- d
  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文件$ ]- P& X, [9 k- ?2 X
在Apache2\conf\httpd.conf 最后一行添加
* b& H/ T2 P3 h9 \: v% z7 r! u
  1. RewriteEngine On
    ; Z% C& k# \; q+ [8 e8 @
  2. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
复制代码
重启Apache,登陆后台开启全伪
. `5 h, ^, J# N, T# B1 G4 f+ p" @) u9 }' f2 x
Linux+Apache环境配置类似。
8 T$ y' {3 n: u5 u9 C3 Q- Z6 L+ ~/ ^- U* g* ?: H: E9 u/ [
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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