日期:2014-05-16 浏览次数:20997 次
本文将向大家介绍几个在web应用程序上比较实用的htaccess 技巧。
准备工作
Htaccess 文件是Apache HTTP web服务器的纯文本配置文件。无需访问httpd.conf 文件,用户就可以设置目录选项。因此,要求你的服务器使用Apache,并且主机也支持htaccess 文件(大多数主机都支持)。
盗链 也叫内嵌链接,是指一个网站的链接直接导向另一个网站上的对象。这会给另一个网站造成带宽和流量的损失。对于提供大量图片的站点来说,这个问题就比较严重。 使用htaccess可以解决这个问题。
?
There are ways to fix this growing problem using htaccess. First here is the image we are trying to protect.
?
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ #domains that can link to images #add as many as you want RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?demo.collegeaintcheap.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?noahhendrix.com [NC] #show no image when hotlinked RewriteRule \.(jpg|png|gif)$ - [NC,F,L]?
?
我们将按下面的步骤一步步操作
这种方法相当简单,我们的目的也就是告诉用户我们不想他们盗用我们的图片,那么干脆不发送403错误禁止页面直接把盗链请求转到一个图片。把最后一行的代码用下面的代码替换就可以。
#show an alternate image RewriteRule \.(jpg|png|gif)$ http://demo.collegeaintcheap.com/envato/htaccess/hotlink/images/hotlink.jpeg [NC,R,L]??
你可以把域名URL地址改为图像路径,不过需要以jpg、png、gif 结尾。要不然会重新运用规则给服务器造成死循环。我建议使用.jpeg来解决这个问题。这里R 标记取代F 代表发送一个转向。
?
如果网站上出现大量的垃圾邮件,就可以通过IP地址来阻止用户。你可以在日志文件里找到他们的IP,只要把IP地址添加到htaccess文件就可以。
Order Deny,Allow Deny from 24.121.202.23 # Deny from 0.0.0.0??
在mod_access模块里用Order指令可以拒绝或允许指定IP访问。只要使用句法Deny from IP ADDRESS 就可以禁止这些用户访问我们的目录。
?
所有专业性的网站都会使用自定义的错误页面。在Apache 里可以使用ErrorDocument指令来完成。自定义的错误页面要比默认的页面好很多。
?
ErrorDocument 404 http://demo.collegeaintcheap.com/envato/htaccess/errors/404.html ErrorDocument 403 http://demo.collegeaintcheap.com/envato/htaccess/errors/403.html ErrorDocument 500 http://demo.collegeaintcheap.com/envato/htaccess/errors/500.html?
ErrorDocument有两个参数error-code 和document 。 上面的代码是最常见的HTTP错误提示代码:404未找到、403 禁止、500 服务器出错。你可以给你的错误文件提供完整的URL或相对路径。你也可以转向到一个PHP脚本上,用一个数据库记录错误或者发送邮件给你(虽然有点烦 人)。这是用来控制web应用程序的一个非常好的方法。看看 Smashing Magazine的404 错误页面展示 获得一些启发吧!
?