五个
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