
标题: .htaccess文件使用教程[转贴] [打印本页]
作者: adicom 时间: 2007-11-16 02:40 PM 标题: .htaccess文件使用教程[转贴]
PS:全文系转帖 web.meyu.net.K
~5FR&j|W3Z
+|'_Aa-I} n
1.1 什么是.htaccess文件
2FPu!T7I3P#{从本指南中,你将可以学习到有关.htaccess文件及其功能的知识,并用以优化你的网站。尽管.htaccess只是一个文件,但它可以更改服务器的设置,允许你做许多不同的事情,最流行的功能是您可以创建自定义的“404 error”页面。.htaccess 并不难于使用,归根结底,它只是在一个text文档中添加几条简单的指令而已。
(l*aKZ
ig a8t$oweb.meyu.net.么鱼网6Bj2ZP^th
首先你要判断主机支持它
U6vW-C:n
O/O/X7zIr
这可能很难用简单的答案来回答。许多主机支持.htaccess,但实际上并不会特别声明,许多其他类型的主机有能力但并不允许他们的用户使用. htaccess。一般来说,如果你的主机使用Unix或Linux系统,或任何版本的Apache网络服务器,从理论上都是支持.htaccess的,尽管你的主机服务商可能不允许你使用它。r;BJ'`d!yA@8i
e"X2b]2?&d:j判断你的主机是否允许.htaccess,一个标志很好的是它是否支持文件夹密码保护。为达到此功能,主机服务商需要使用.htaccess(当然,少数情况下他们虽提供密码保护功能,但却并不允许你使用.htaccess)。如果你不确定自己的主机是否支持.htaccess,最好的办法是上传你自己的.htaccess文件看看是否有用,或者直接发送e-mail向你的主机服务商咨询。+i2e8^6Z9MFjF,M
8]|*U?'CApache系统中的.htaccess文件(或者”分布式配置文件”提供了针对目录改变配置的方法,即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。web.meyu.net. b8Bm;_O
G;K8K w)k;_+v
子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。
;O'y0v(f]*P;M4p么鱼网~9b4l;ZDh
.htaccess必须以ASCII模式上传,最好将其权限设置为644。
ZDDluweb.meyu.net.
.MhWr\.s2BZm$Q_%Kweb.meyu.net..htaccess可以做大量的事情,包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件。
F
R&|hQ
么鱼网B/m(E}^4kuem
Y4^X
z+zk]V B1.2 如何创建.httaccess文件
6lS:n!|Ldc!u
U'h!qweb.meyu.net.创建.htaccess文件也许会给你带来一些困难。写文件很容易,你只需要在文字编缉器(例如:写字板)里写下适当的代码。真正困难的可能是文件的保存,因为.htaccess是一个古怪的文件名(它事实上没有文件名,只有一个由8个字母组成的扩展名),而在一些系统(如windows 3.1)中无法接受这样的文件名。在大多数的操作系统中,你需要做的是将文档保存成名为:“.htaccess” (包括引号)。如果这也不行,你需要将其先命名为其它名字(例如htaccess.txt),再将其上传到服务器上,之后直接使用FTP软件来重命名。
'd"Dr4t7bn
i_q2]8RX+oK%Y警告
BC'E&U%@vweb.meyu.net.
CrbA5]}2e在使用.htaccess之前,我必须给你一些警告。虽然在服务器上使用.htaccess绝对不太可能给你带来任何麻烦(如果有些东西错了,它只是没效用罢了),但如果你使用Microsoft FrontPage Extensions,就必须特别小心。因为FrontPage Extensions本身使用了.htaccess,因此你不能编辑它并加入你自己的信息。如果确实有这方面的需要(并不推荐,但是可能),你应该先从服务器上下载.htaccess文档(如果存在),之后在前面加上你的代码。
^@#uw i"Z5p,v么鱼网2A;}HL5W(j
2|.httacces文件的配置 6gwW'?8{'M`*W0g"R8s
w
xb$SI$I.o么鱼网Y3Z5w5];N.v~
2.1.配置.htaccess 自定义错误页
e;B
zLG#DA&^我要介绍的.htaccess的第一个应用是自定义错误页面,这将使你可以拥有自己的、个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错误页或没有任何页面。这会让你的网站在出错的时候看上去更专业。你还可以利用脚本程序在发生错误的时候通知你(例如我使用Free Webmaster Help的PHP脚本程序,当找不到页面的时候自动e-mail给我)。G#]}+m1G*IqmR
7ld9@)KWN${(o么鱼网你所知道的任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面:web.meyu.net.*]#QY"\Z/d!G
,LT7h;~!@`'n~_ D
gweb.meyu.net. ErrorDocument errornumber /file.htmlweb.meyu.net.1kDf eLg%?
#V7X!J(Ff Z
举例来说,如果我的根目录下有一个nofound.html文件,我想使用它作为404 error的页面:
$V#P8t5[ U C:u'u,q
7aa}AV~Y4e ErrorDocument 404 /notfound.htmlZ6GeK |'Y7Zr
8E7d
_!i'Sm~么鱼网如果文件不在网站的根目录下,你只需要把路径设置为:
}/q]'gK1Aqw
']1W+A,G
l@5L&M
ErrorDocument 500 /errorpages/500.html么鱼网jT@B@w~
zv8vG6S+bF}TJ
以下是一些最常用的错误: f#p)Y1Uc2CO)WTXj
8\b
\wM
z
d [
F常用的客户端请求错误返回代码:
'YpZ.DGny^ wO9J
hQ(W
400 - Bad request 错误请求
nXhNNM)P401 Authorization Required需要验证&}}+c YL.`]Y$K
403 Forbidden禁止
NH-AE0h3K`J3h404 Not Found找不到页面J9K:c S,j-Xm
405 Method Not Allowed.\#Vbm4m{0r
n#re%u
408 Request Timed OutI
B
kC_
411 Content Length Required
2zi.n R5W$t Bweb.meyu.net.412 Precondition Failed
${o8?2h#m V8j413 Request Entity Too Long
"c1G/v)Sr%g8{:Vu7I414 Request URI Too Long
4i.w'Tke415 Unsupported Media Type
S C\"z
xB
P9Gfn%Y$K6V0wy常见的服务器错误返回代码:
CA6`!e
d么鱼网#Q3M+A4ve
500 Internal Server Error内部服务器错误
)f |:raN+Qtv么鱼网
[5f4p#^"l接下来,你要做的只是创建一个错误发生时显示的文件,然后把它们和.htaccess一起上传。Mf&i-r J3c