background image

五个

htaccess 文件的常用技巧

  说起

.htaccess 规则文件,很多朋友都不会陌生,特别是使用 wordpress、discuz 等 php 类

开 源 产 品 的 朋 友 , 该 文 件 的 作 用 与

windows 主 机 下 的 httpd.ini 文 件 稍 有 雷 同 之 处 ,

.htaccess 的作用要大得多,我的几个站点也都使用了.htaccess 文件,今天就分享几个常

用的技巧。

 

  

Htaccess 文件是 Apache HTTP web 服务器的纯文本配置文件。无需访问 httpd.conf 文件,

用户就可以设置目录选项。因此,要求你的服务器使用

Apache,并且主机也支持 htaccess 文

件(大多数主机都支持)。
  

1. 防止盗链

  盗链

 也叫内嵌链接,是指一个网站的链接直接导向另一个网站上的对象。这会给另一

个网站造成带宽和流量的损失。对于提供大量图片的站点来说,这个问题就比较严重。

 使用

htaccess 可以解决这个问题。
  我们将按下面的步骤一步步操作
  首先得打开

Apache 里的 mod_rewrite,用于实现重新定向用户的请求。

    下 一 步 , 用

RewriteCond 设 置 条 件 。 这 需 要 运 用 到 两 个 参 数 TestString  和

CondPattern.TestString 是 用 来 验 证 CondPattern 的 字 符 串 ( 使 用 常 规 的 表 达 ) 。 .$
{HTTP_REFERER}是 Apache 提供的域名请求变量。为了保护代理服务器用户提交空白请求,
这里允许用户发送空白

HTTP 请求。

  接着,用同样的句法设置允许链接图片的

URL.命令最后的[NC]标记,只是让重写引擎

忽视它。你可以用相同的句法添加更多的域名。为了方便举例,我添加了我的个人域名。
  最后,最后一行是重写规则,上面所有的条件都不满足的情况下使用。也要用到两个变

Pattern 和 Substitution,pattern 用的是常规的表达匹配,substitution 是替换任何匹配用的。

此时,申请需以

jpg、png、 gif 结尾。找到申请后,用空白来替代。通过标签来进一步说明要干

什么,

 NC 代表无符合的情况,F 发送 403 禁止错误页面给用户,L 告知重写引擎停止重写,

因此其它规则都不再适用。
  这种方法相当简单,我们的目的也就是告诉用户我们不想他们盗用我们的图片,那么
干脆不发送

403 错误禁止页面直接把盗链请求转到一个图片。把最后一行的代码用下面的代

码替换就可以。
  

#show an alternate image

   

RewriteRule  \. ( jpg|png|gif ) $ 

http://demo.collegeaintcheap.com  ...  images/hotlink.jpeg 

[NC,R,L]
  你可以把域名

URL 地址改为图像路径,不过需要以 jpg、png、gif 结尾。要不然会重新运

用规则给服务器造成死循环。我建议使用

.jpeg 来解决这个问题。这里 R 标记取代 F 代表发送

一个转向。
  

2. 通过 IP 地址阻止用户

  如果网站上出现大量的垃圾邮件,就可以通过

IP 地址来阻止用户。你可以在日志文件

里找到他们的

IP,只要把 IP 地址添加到 htaccess 文件就可以。

  

Order Deny,Allow

  

Deny from 24.121.202.23