参考
在线资源
简介
.htaccess的特别说明
应用
自定义错误页
不显示目录列表
控制IP访问
配置默认页面
重定向(重要)
密码保护
防止盗链

参考

在线资源

简介

.htaccess的特别说明

AccessFileName .config

应用

自定义错误页

常见错误:

401 - Authorization Required 需要验证
400 - Bad request 错误请求
403 - Forbidden 禁止
500 - Internal Server Error 内部服务器错误
404 - Wrong page 找不到页面
405 - Method Not Allowed
408 - Request Timed Out
411 - Content Length Required
412 - Precondition Failed
413 - Request Entity Too Long
414 - Request URI Too Long
415 - Unsupported Media Type

在 .htaccess 文件中加入:

ErrorDocument 404 /notfound.html
ErrorDocument 500 /errorpages/500.html

直截了当的做法:

ErrorDocument 401 "你没有权限访问该页面,请放弃!"

这里地址中的第一个“/”代表网站的“根”目录。

不显示目录列表

Options -Indexes

控制IP访问

阻止 XXX.XXX.XXX.XXX IP 访问!

deny from XXX.XXX.XXX.XXX

容许一个 IP 访问!

allow from XXX.XXX.XXX.XXX

阻止所有人访问当前目录(不会影响脚本程序访问):

deny from all

配置默认页面

DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm

重定向(重要)

.htaccess最有用的功能之一就是将请求重定向到同站内或站外的不同文档。这在 你改变了一个文件名称,但仍然想让用户用旧地址访问到它时,变的极为有用。

Redirect /location/from/root/file.ext
http://www.othersite.com/new/file/location.xyz

可以使用.htaccess重定向整个网站的目录。假如你的网站上有一个名为 olddirectory的目录,并且你已经在一个新网站 http://www.newsite.com/newdirectory/ 上建立了与上相同的文档,你可以将旧 目录下所有的文件做一次重定向而不必一一声明:

Redirect /olddirectory http://www.newsite.com/newdirectory

密码保护

利用.htaccess将一个目录加上密码保护分两个步骤。第一步是在你的.htaccess 文档里加上适当的几行代码,再将.htaccess文档放进你要保护的目录下:

AuthName "Section Name"
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
Require valid-user

目录的密码保护比.htaccess的其他功能要麻烦些,因为你必须同时创建一个包含 用户名和密码的文档,用于访问你的网站,相关信息(默认)位于一个名 为.htpasswd的文档里。像.htaccess一样,.htpasswd也是一个没有文件名且具有 8位扩展名的文档,可以放置在你网站里的任何地方(此时密码应加密),但建议 你将其保存在网站Web根目录外,这样通过网络就无法访问到它了。

创建好.htpasswd文档后(可以通过文字编辑器创建),下一步是输入用于访问网 站的用户名和密码,应为:

username:password

“password”的位置应该是加密过的密码。你可以通过几种方法来得到加密过的密 码。使用 htpasswd 工具可以很方便做到:

root@jianlee:~# htpasswd -c ylinux.htpasswd jianlee
New password:
Re-type new password:
Adding password for user jianlee
root@jianlee:~# cat ylinux.htpasswd
jianlee:WnpWXxBfVyLsc

将上面的 ylinux.htpasswd 放到一个目录 /full/path/to/.htpasswd , 即可。

防止盗链

如果不喜欢别人在他们的网页上连接自己的图片、文档的话,也可以通过 htaccess的指令来做到。所需要的指令如下:

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

如果觉得让别人的页面开个天窗不好看,那可以用一张图片来代替: </example> RewriteEngine on RewriteCond %{ HTTP_REFERER } !^$ RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC] RewriteRule .(gif&line;jpg)$ http://www.mydomain.com/替代图片文件名 [R,L] </example>