上面的行检查 HTTP_REFERER 是否没有设为空或没有设为你站点上的任何链接。如果是这样的话,你网页上的所有图片会用 403 禁止访问代替。
23. 如何将用户重定向到维护页面如果你的网站需要进行维护并且你想向所有需要访问该网站的你的所有客户通知这个消息,对于这种情况,你可以添加下面的行到你的 .htaccess 文件,从而只允许管理员访问并替换所有访问 .jpg、.css、.gif、.js 等的页面内容。
RewriteCond%{REQUEST_URI}!^/admin/[NC]
RewriteCond%{REQUEST_URI}!^((.*).css|(.*).js|(.*).png|(.*).jpg)[NC]
RewriteRule^(.*)$ /ErrorDocs/Maintainence_Page.html [NC,L,U,QSA]
这些行检查请求 URL 是否包含任何例如以 ‘/admin/’ 开头的管理页面的请求,或任何到 ‘.png, .jpg, .js, .css’ 页面的请求,对于任何这样的请求,用 ‘ErrorDocs/Maintainence_Page.html’ 替换那个页面。
24. 映射 IP 地址到域名名称服务器是将特定 IP 地址转换为域名的服务器。这种映射也可以在 .htaccess 文件中用以下形式指定。
# 为了将IP地址 L.M.N.O 映射到域名
RewriteCond%{HTTP_HOST}^L\.M\.N\.O$ [NC]
RewriteRule^(.*)$ http://www.hellovisit.com/$1 [L,R=301]
上面的行检查任何页面的主机是否包含类似 L.M.N.O 的 IP 地址,如果是的话第三行会通过永久重定向将页面映射到域名 。
25. FilesMatch 标签类似用于应用条件到单个文件的 标签, 能用于匹配一组文件并对该组文件应用一些条件,如下:
<FilesMatch “\.(png|jpg)$”>
Order Allow, Deny
Deny from All
</FilesMatch>
结论.htaccess 文件能实现的小技巧还有很多。这告诉了我们这个文件有多么强大,通过该文件能给你的站点添加多少安全性、动态性以及其它功能。
我们已经在这篇文章中尽最大努力覆盖尽可能多的 htaccess 小技巧,但如果我们缺少了任何重要的技巧,或者你愿意告诉我们你的 htaccess 想法和技巧,你可以在下面的评论框中提交,我们也会在文章中进行介绍。
Ubuntu Server 14.04 安装Web服务器(Linux+Apache+MySQL+PHP)
Ubuntu 14.04中Apache 2.2升级到2.4后的几个要点
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置
CentOS 5.9下编译安装LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12)
RedHat 5.4下Web服务器架构之源码构建LAMP环境及应用PHPWind