Apache系统中的.htaccess文件(也称“分布式配置文件”)提供了针对目录改变配置的方法,也就是在一个特定的文档目录中放置一个包含指令的文件, 以作用于此目录及其所有子目录。直白的说,.htaccess文件只是一个简单的文档,可以在里面加些简单的命令实现各种不同的设置。
如何知道主机是否支持.htaccess?
其实大部分主机都支持.htaccess,但实际上你的主机提供商并不会特别声明。一般来说,如果你的主机使用Unix或Linux系统,或任何版本的Apache网络服务器,理论上都是支持.htaccess的,但是有的主机服务商有可能不允许你使用它。判断你的主机是否允许.htaccess,一个很好的方法是看它是否支持文件夹密码保护。为达到此功能,主机服务商需要使用.htaccess(当然,少数情况下他们虽提供密码保护功能,但却并不允许你使用.htaccess)。最好的办法是上传你自己的.htaccess文件看看是否有用,或者直接向你的主机服务商咨询。
.htaccess文件可以做什么?
.htaccess文件可以做大量的事情,包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等等。下面园子将列举几个常用的功能与大家分享。
使用.htaccess文件自定义404错误页
.htaccess文件最常用的功能应该就是自定义404页面了,其操作也非常简单,在.htaccess 文件中加入代码:
代码如下 | 复制代码 |
ErrorDocument 404 /Error.html |
然后建立一个简单的html404页面并命名 Error.html
把 Error.html放置在网站根目录即可。具体详细设置方法请看:如何设置404页面。
当然,如果你的404文件不在网站的根目录下,你只需要把路径设置为:
代码如下 | 复制代码 |
ErrorDocument 404/errors/Error.html |
以下列举了网站上一些最常用的错误类型:
401 – Authorization Required 需要验证
400 – Bad request 错误请求
403 – Forbidden 禁止
500 – Internal Server Error 内部服务器错误
404 – Wrong page 找不到页面
你可以有选择的创建错误时的文件,然后在.htaccess文件里面进行定义(方法和404页面的方法一样),上传到你的网站上即可。
1.时区设置
有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。
SetEnv TZ Australia/Melbourne
2. seo/seo.html" target="_blank">搜索引擎友好的301永久转向方法
为什么这是搜索引擎友好的呢?因为现在很多现代的搜索引擎都有能根据检查301永久转向来更新它现有的记录的功能。
代码如下 | 复制代码 |
Redirect 301 http://www.111com.net http://www.111com.net/ |
3. 屏蔽下载对话框
通常,当你下载东西的时候,你会看到一个对话框询问你是保持这个文件还是直接打开它。如果你不想看到这个东西,你可以把下面的一段代码放到你的.htaccess文件里。
代码如下 | 复制代码 |
AddType application/octet-stream .pdf |
4. 省去www前缀
SEO的一个原则是,确保你的网站只有一个URL。因此,你需要把所有的通过www的访问转向的非www,或者反这来。
代码如下 | 复制代码 |
RewriteEngine On |
5. 个性化Error页面
对每个错误代码定制自己个性化的错误页面。
代码如下 | 复制代码 |
ErrorDocument 401 /error/401.php |
6. 压缩文件
通过压缩你的文件体积来优化网站的访问速度。
代码如下 | 复制代码 |
# 压缩 text, html, javascript, css, xml: |
7. 缓存文件
缓存文件是另外一个提高你的网站访问速度的好方法。
代码如下 | 复制代码 |
|
8. 对某些文件类型禁止使用缓存
而另一方面,你也可以定制对某些文件类型禁止使用缓存。
# 显式的规定对脚本和其它动态文件禁止使用缓存
代码如下 | 复制代码 |
Header unset Cache-Control |
安全问题
下面的htaccess代码能够提高你的web服务器的安全水平。图片链接盗用保护非常有用,它能防止其他人偷盗使用你的服务器上的图片资源。
1. 通过.htaccess放盗链
痛恨那些偷盗链接你的web服务器上的图片资源而耗尽了你的带宽的行为吗?试试这个,你可以防止这种事情的发生。
代码如下 | 复制代码 |
RewriteBase / |
2. 防黑客
如果你想提高网站的安全等级,你可以加上下面的几行代码,这样可以防止一些常见恶意URL匹配的黑客攻击技术。
代码如下 | 复制代码 |
RewriteEngine On |