.htaccess 文件用法大全

1.1 什么是 .htaccess 文件

从本指南中,你将可以学习到有关 .htaccess 文件及其功能的知识,并用以优化你的网站。尽管 .htaccess 只是一个文件,但它可以更改服务器的设置,允许你做许多不同的事情,最流行的功能是您可以创建自定义的“404 error”页面。.htaccess 并不难于使用,归根结底,它只是在一个 text 文档中添加几条简单的指令而已。

判断你的主机是否支持:
许多主机支持 .htaccess,但实际上并不会特别声明。一般来说,如果你的主机使用 Unix 或 Linux 系统,或任何版本的 Apache 网络服务器,从理论上都是支持 .htaccess 的。判断你的主机是否允许 .htaccess,一个标志很好的是它是否支持文件夹密码保护。

子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。.htaccess 必须以 ASCII 模式上传,最好将其权限设置为 644。

1.2 如何创建 .htaccess 文件

创建 .htaccess 文件也许会给你带来一些困难。写文件很容易,你只需要在文字编缉器里写下适当的代码。真正困难的可能是文件的保存,因为 .htaccess 是一个由扩展名组成的文件名(它事实上没有文件名),而在一些系统(如 Windows)中无法直接保存这样的文件名。在大多数操作系统中,你需要做的是将文档保存成名为:“.htaccess”(包括引号)。或者将其先命名为 htaccess.txt,上传到服务器后再重命名。

2.1 自定义错误页

个性化的错误页面让你的网站在出错的时候看上去更专业。你可以通过在 .htaccess 文件里加入下面的文字将其变成自定义页面:

ErrorDocument errornumber /file.html

举例来说,如果我的根目录下有一个 nofound.html 文件,我想使用它作为 404 error 的页面:

ErrorDocument 404 /notfound.html

2.2 阻止显示目录列表

如果你的目录里没有 index 文件,浏览器默认会显示该目录下所有的文件,这会带来安全隐患。你可以键入以下命令阻止目录列表显示:

Options -Indexes

2.3 阻止/允许特定的 IP 地址

你可以封禁一个 IP 地址:

deny from 000.000.000.000

或者允许一个 IP 地址:

allow from 000.000.000.000

2.4 替换 index 文件

你可以轻易的设置新的缺省文件名:

DirectoryIndex index.php index.html index.htm

2.5 重定向页面

将请求重定向到站内或站外的不同文档:

Redirect 301 /oldfile.html http://www.example.com/newfile.html

3.1 密码保护

在 .htaccess 里加上代码,再将文档放进你要保护的目录下:

AuthName "Members Area"
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
Require valid-user

3.5 防止盗链

如果不喜欢别人在他们的网页上连接自己的图片、文档,可以通过以下指令实现:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]