Categories


Tags


五个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/envato/htaccess/hotlink/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

# Deny from 0.0.0.0

在mod_access模块里用Order指令可以拒绝或允许指定IP访问。只要使用句法Deny from IP ADDRESS就可以禁止这些用户访问我们的目录。

3.ErrorDocument

所有专业性的网站都会使用自定义的错误页面。在Apache 里可以使用ErrorDocument指令来完成。自定义的错误页面要比默认的页面好很多。

ErrorDocument有两个参数error-code和document.上面的代码是最常见的HTTP错误提示代码:404未找到、403 禁止、500 服务器出错。你可以给你的错误文件提供完整的URL或相对路径。你也可以转向到一个PHP脚本上,用一个数据库记录错误或者发送邮件给你(虽然有点烦人)。这是用来控制web应用程序的一个非常好的方法。看看 Smashing Magazine的404 错误页面展示获得一些启发吧!

ErrorDocument 401 /error/401.html      //401错误转向到error/401.html 页面

ErrorDocument 403 /error/403.html

ErrorDocument 404 /error/404.html

ErrorDocument 500 /error/500.html

4.升级时转向

如果你的网站正在升级,你需要转向到另一个页面通知用户,以防止用户看到损坏页面或者加载过程出现的潜在安全漏洞问题。在页面对所有用户开放前,我们需要先允许指定IP访问来测试。所有这些都可以在htaccess 文件上实现。

我们还是使用mod_rewrite 不过是一种逆向思维。首先我们需要设定条件来排除升级的文档,否则服务器陷入循环。接着,测试用的IP不执行转向。最后用重写规则给用户发回一个升级页面。标签还是跟之前的一样,只不过定向到302状态,告诉浏览器该页面暂时迁移了并做相应的缓存。同样地在Smashing Magazine,里也有很多的网站维护页面。

5. 隐藏目录列表

出于安全考虑,限制目录列表的权限和Apache默认行为是有必要的。这一点也可以在htaccess文件上实现。防止访问者看到我们的目录列表。

Options -Indexes

这样,用户如果发送无索引的目录请求,就会显示 403禁止错误页面。

是任何版本的Apache Web服务器都是支持.htaccess的。笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。

英文原文:5 Fun and Practical Htaccess Solutions

来源:月光博客


Public @ 2017-04-16 16:14:34

域名转出常见问题

西部数码域名如何转出?为了保证您的域名能够顺利办理转出,请您先查询您的域名到期日期及域名状态,确保域名到期日期及域名状态符合转出必要条件。西部数码域名转出条件:距域名注册,最近一次续费、转移和变更所有人信息至少满60天;域名不能过期。若转出过程中遇到问题,可提交 提交工单 咨询如果域名过期续费并在距离成功续费不满45天便申请转移到注册商,则新注册商不会再增加一年时间。您会损失一年的续费费用,建议满

Public @ 2010-05-04 16:00:09

如何设计一个营销型网站?营销型网站的设计规则

做营销型网站的目的主要是为了网站能有好的排名、达到高转换率。用户通过搜索目标关键词访问到网站,在网站上能找到用户的需求,因此营销型网站的设计不用太过复杂,越简单越有利于网站排名和流量。如何设计一个营销型网站?营销型网站的设计规则一、结构:网站结构和URL布局1、带www和不带www的是两个不同URL,需要采用301重定向进行URL标准化设置。设置首选域名,唯一的URL,可以让网站的PR值更集中和准

Public @ 2020-05-01 15:47:02

16个简单实用的.htaccess技巧

.htaccess 文件 (Hypertext Access file) 是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能。.htaccess 配置文件坚持了Unix的一个文化——使用一个ASCII 的纯文本文件来配置你的网站的访问策略。这篇文章包括了16个非常有用的小技巧。另外,因为.htaccess 是一个相当强大的配置

Public @ 2014-03-14 16:14:33

使用htaccess绑定域名到子目录

如果您想将主域名或其他域名/子域名绑定到您的网站的子目录中,可以使用.htaccess文件完成此操作。 以下是一些步骤,您可以跟着操作: 1.首先,您需要在网站根目录中创建一个名为.htaccess的文件。如果已经存在,则可以跳过此步骤。 2.使用以下代码段将主域名或子域名绑定到子目录。请记住将DOMAIN和SUBDIRECTORY替换为实际域名和子目录名称。 ```RewriteEngi

Public @ 2023-04-30 03:50:12

更多您感兴趣的搜索

0.460191s