16个简单实用的.htaccess技巧
.htaccess 文件 (Hypertext Access file) 是Apache
Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能。.htaccess
配置文件坚持了Unix的一个文化——使用一个ASCII 的纯文本文件来配置你的网站的访问策略。
这篇文章包括了16个非常有用的小技巧。另外,因为.htaccess 是一个相当强大的配置文件,所以,一个轻微的语法错误会造成你整个网站的故障,所以,在你修改或是替换原有的文件时,一定要备份旧的文件,以便出现问题的时候可以方便的恢复。
1. 使用.htaccess 创建自定义的出错页面。对于Linux Apache来说这是一项极其简单的事情。使用下面的.htaccess语法你可以轻松的完成这一功能。(把.htaccess放在你的网站根目录下)
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
2. 设置网站的时区
SetEnv TZ America/Houston
3. 阻止IP列表
有些时候,你需要以IP地址的方式阻止一些访问。无论是对于一个IP地址还是一个网段,这都是一件非常简单的事情,如下所示:
allow from all
deny from 145.186.14.122
deny from 124.15
Apache对于被拒绝的IP会返回403错误。
4. 把一些老的链接转到新的链接上——搜索引擎优化SEO
Redirect 301 /d/file.html http://www.htaccesselite.com/r/file.html
5. 为服务器管理员设置电子邮件。
ServerSignature EMail
SetEnv SERVER_ADMIN default@domain.com
6. 使用.htaccess 访止盗链。如果你网站上的一个图片被别的N多的网站引用了,那么,这很有可能会导致你服务器的性能下降,使用下面的代码可以保护某些热门的链接不被过多的引用。
Options +FollowSymlinks
# Protect Hotlinking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/hotlink_f_o.png [nc]
7. 阻止 User Agent 的所有请求
## .htaccess Code :: BEGIN
## Block Bad Bots by user-Agent
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
Order Allow,Deny
Allow from all
Deny from env=bad_bot
## .htaccess Code :: END
8. 把某些特殊的IP地址的请求重定向到别的站点
ErrorDocument 403 http://www.youdomain.com
Order deny,allow
Deny from all
Allow from ip
Allow from ip
9. 直接找开文件而不是下载 – 通常,我们打开网上文件的时候总是会出现一个对话框问我们是下载还是直接打开,使用下面的设置就不会出现这个问题了,直接打开
。
AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov
10. 修改文件类型 – 下面的示例可以让任何的文件都成为PHP那么被服务器解释。比如:myphp, cgi,phtml等。
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
11. 阻止存取.htaccess 文件
# secure htaccess file
order allow,deny
deny from all
12. 保护服务器上的文件被存取
# prevent access of a certain file order allow,deny
deny from all
13. 阻止目录浏览
# disable directory browsing
Options All -Indexes
14. 设置默认主页
# serve alternate default index page
DirectoryIndex about.html
15. 口令认证 – 你可以创建一个文件用于认证。下面是一个示例:
# to protect a file
AuthType Basic
AuthName “Prompt”
AuthUserFile /home/path/.htpasswd
Require valid-user
# password-protect a directory
resides
AuthType basic
AuthName “This directory is protected”
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user
16. 把老的域名转像新的域名
# redirect from old domain to new domain
RewriteEngine On
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]
分享到:
相关推荐
这篇文章包括了16个非常有用的小技巧。另外,因为.htaccess 是一个相当强大的配置文件,所以,一个轻微的语法错误会造成你整个网站的故障,所以,在你修改或是替换原有的文件时,一定要备份旧的文件,以便出现问题的...
对于运行在Apache服务器上的博客或网站而言,通过编辑根目录下的`.htaccess`文件来激活并设置图片缓存功能是一种非常实用的方法。 #### 一、了解.htaccess文件 `.htaccess`文件是Apache服务器中的一个特殊文件,...
以下是从标题、描述和部分内容中提炼出的关于`.htaccess`的10个实用技巧: 1. **反盗链**:通过设置RewriteRules,可以阻止其他网站通过引用你的图片、视频或Flash资源,保护你的带宽不被滥用。例如,配置只允许...
在IT领域,文件压缩是一种常见的数据管理...这是一个非常基础但实用的技巧,对于优化网站性能和降低服务器负载具有重要意义。理解并掌握这些知识,对于任何从事网站开发、运维或服务器管理的IT专业人员来说都至关重要。
这个项目可能涵盖了基础的PHP语法、数据库交互以及用户交互等方面,是学习PHP编程的一个实用示例。 【描述】:描述中提到的“大作业”可能是指一个综合性的编程项目,通常这类项目会要求学生独立完成,以检验他们在...
总的来说,URL重写是一个实用的技术,通过简单的配置,可以显著提升网站的用户体验和搜索引擎友好度。对于开发者来说,熟练掌握这一技能对于构建高质量的Web应用至关重要。通过实践和学习提供的实例,相信你可以快速...
### Apache 开启伪静态的方法详解 ...以上内容详细介绍了如何在Apache服务器上启用伪静态功能,以及如何使用Rewrite模块实现各种实用的功能。这些技巧对于提高网站的安全性和用户体验都非常重要。
【标题】"供新手学习的thinkphp框架留言板"是一个针对初学者设计的PHP教程,它利用了...总的来说,这是一个非常实用的学习资源,可以帮助新手快速上手ThinkPHP框架,并通过实际操作掌握PHP Web开发的基本流程和技巧。
本文将详细介绍一种简单的方法来实现该功能,并涉及相关操作目录的技巧。 在PHP中,有几个内置函数可以帮助我们操作文件系统,尤其是在获取目录列表时,我们主要会用到`is_dir`、`opendir`、`readdir`以及`closedir...
"urlrewrite"是一个非常实用的工具,它基于Apache服务器的URL重写模块,可以帮助开发者轻松实现动态URL到静态URL的转换。本篇文章将深入探讨如何使用urlrewrite实现动态页面静态化,并通过具体的例子来阐述这一过程...
通过24个精心设计的小时学习计划,本书旨在提供一个系统而全面的学习路径,让读者能够快速上手Web开发的核心技术。 PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发,可以嵌入到HTML中执行。在本书中,你将...
17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 使用PHP和...
17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 ...
17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 ...
14.2 运行一个简单的Samba设置 243 14.2.1 使用Linux客户测试 243 14.2.2 使用Windows客户测试 244 14.3 配置Samba 245 14.3.1 [global]段 245 14.3.2 [homes]段 246 14.3.3 [printers]段 247 14.3.4 Samba打印机...