本帖主题: .htaccess文件使用教程[转贴]
2007-11-16 02:40 PM No.1 |
发表人:adicom
个人Blog
社区短消息
TOP
|
adicom
Meyu Customer
 
UID 4694
精华
1
积分 196
帖子 107
体力 102
威望 10
贡献 0
阅读权限 80
注册 2007-3-19
状态 离线
|
[广告]: 备案信息核验单 - 现行国内备案必看
PS:全文系转帖
nl[~na[n0NMa(OI2d,T
1.1 什么是.htaccess文件web.meyu.net.(iR
N%c1ye7|
从本指南中,你将可以学习到有关.htaccess文件及其功能的知识,并用以优化你的网站。尽管.htaccess只是一个文件,但它可以更改服务器的设置,允许你做许多不同的事情,最流行的功能是您可以创建自定义的“404 error”页面。.htaccess 并不难于使用,归根结底,它只是在一个text文档中添加几条简单的指令而已。么鱼网_?:jMkA0ep D$P h
3O1R\+_x^$g|;o
首先你要判断主机支持它
4sO'@}0Ov
O/`.K#lI这可能很难用简单的答案来回答。许多主机支持.htaccess,但实际上并不会特别声明,许多其他类型的主机有能力但并不允许他们的用户使用. htaccess。一般来说,如果你的主机使用Unix或Linux系统,或任何版本的Apache网络服务器,从理论上都是支持.htaccess的,尽管你的主机服务商可能不允许你使用它。
x2vW5e,Ezweb.meyu.net.yf&[0OZ*RHru
判断你的主机是否允许.htaccess,一个标志很好的是它是否支持文件夹密码保护。为达到此功能,主机服务商需要使用.htaccess(当然,少数情况下他们虽提供密码保护功能,但却并不允许你使用.htaccess)。如果你不确定自己的主机是否支持.htaccess,最好的办法是上传你自己的.htaccess文件看看是否有用,或者直接发送e-mail向你的主机服务商咨询。v%U)|cyv
web.meyu.net.dWNS@c(T
Apache系统中的.htaccess文件(或者”分布式配置文件”提供了针对目录改变配置的方法,即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
7O2|%C$fI,q0\么鱼网
0@!dO6I`4v(QD子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。
?m8y2i^~.UoTR
4es B2MX;usL.htaccess必须以ASCII模式上传,最好将其权限设置为644。
`!y$QoKweb.meyu.net.M:?&s4]5zKL ^Z
.htaccess可以做大量的事情,包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件。么鱼网NSG0M,KH
9tW.i_]{4|a)v么鱼网|U#}5Q ~+~%l
1.2 如何创建.httaccess文件 Z8e~8~^4xko^
创建.htaccess文件也许会给你带来一些困难。写文件很容易,你只需要在文字编缉器(例如:写字板)里写下适当的代码。真正困难的可能是文件的保存,因为.htaccess是一个古怪的文件名(它事实上没有文件名,只有一个由8个字母组成的扩展名),而在一些系统(如windows 3.1)中无法接受这样的文件名。在大多数的操作系统中,你需要做的是将文档保存成名为:“.htaccess” (包括引号)。如果这也不行,你需要将其先命名为其它名字(例如htaccess.txt),再将其上传到服务器上,之后直接使用FTP软件来重命名。web.meyu.net.6?:@f"w(TnK8U
yBD-~ B_v/I警告
f(lO(w2rf"p9~'rW
~ C{:~8Vq7i/mJ/yp在使用.htaccess之前,我必须给你一些警告。虽然在服务器上使用.htaccess绝对不太可能给你带来任何麻烦(如果有些东西错了,它只是没效用罢了),但如果你使用Microsoft FrontPage Extensions,就必须特别小心。因为FrontPage Extensions本身使用了.htaccess,因此你不能编辑它并加入你自己的信息。如果确实有这方面的需要(并不推荐,但是可能),你应该先从服务器上下载.htaccess文档(如果存在),之后在前面加上你的代码。
'd m$p1u0oG9U%jweb.meyu.net.
+H a$Q8E-H2J]$Aweb.meyu.net.2|.httacces文件的配置
0o5t;z9~3g么鱼网
B#Qn*f7g-p;H1@
Uhweb.meyu.net.
9X!X'i%~O-R)kweb.meyu.net.2.1.配置.htaccess 自定义错误页 ysxxK:M,M
我要介绍的.htaccess的第一个应用是自定义错误页面,这将使你可以拥有自己的、个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错误页或没有任何页面。这会让你的网站在出错的时候看上去更专业。你还可以利用脚本程序在发生错误的时候通知你(例如我使用Free Webmaster Help的PHP脚本程序,当找不到页面的时候自动e-mail给我)。
])I5fM+T)Kg
C
} dv4G#x%T*q%gweb.meyu.net.你所知道的任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面:
^wAwZ
O
@&m?7\tC\+[(o
ErrorDocument errornumber /file.html)o:K7r'di!F
4E;IW&p
A*z!v7oL么鱼网举例来说,如果我的根目录下有一个nofound.html文件,我想使用它作为404 error的页面:~lx Zi;eHh
1|8PM%|z+~|*h] ErrorDocument 404 /notfound.html
8C$v4@+H,gweb.meyu.net.H1P~9VD3A&d m1T%vo
g
如果文件不在网站的根目录下,你只需要把路径设置为:么鱼网 a_Yvd}T
!h_^)k B.B2p*`0~ Z8a
ErrorDocument 500 /errorpages/500.html'{
E4J2h ~.V:W
e1`wgjZ以下是一些最常用的错误:
Bk2]WTZN3Eweb.meyu.net.
?1m7O9g mfweb.meyu.net.常用的客户端请求错误返回代码:1N3|0X,|X*W
Z.C:V
cK\lHl
K"Q4zweb.meyu.net.400 - Bad request 错误请求
&Ft)o
~u0G401 Authorization Required需要验证
.EV8o:J/Td_v403 Forbidden禁止
"Rl2N xtZ{ O6d404 Not Found找不到页面web.meyu.net.)rT_%k"K5b*Q}
405 Method Not Allowed
LW/N:P%p:gA(^$q`.Z408 Request Timed Out
o"h3oc"p!G*o&Oe411 Content Length Required.OG7nIQ}
412 Precondition Failed
]X
T/Ou-Y:j么鱼网413 Request Entity Too Long
-e'Seuo
YC1o`414 Request URI Too Long
Xir ~X7G415 Unsupported Media Type
3s-a
cYod}D Q么鱼网
U5e0pU!rA常见的服务器错误返回代码:HP+O-kR
m},E$yl0P5i[Jweb.meyu.net. 500 Internal Server Error内部服务器错误
1ZvU%ns:xb么鱼网
$}rb_T)P6s
z.?么鱼网接下来,你要做的只是创建一个错误发生时显示的文件,然后把它们和.htaccess一起上传。%b9P$~
W
B:plpx
N:n.m"D
C2j2n
~5X;I么鱼网用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下,人们可以专门设立一个目录,例如errors放置这些页面。然后再.htaccess中,加入如下的指令:!xiN.i[
么鱼网%e~!k3X@
{T
ErrorDocument 404 /errors/notfound.html
4o m[,M1|K} ErrorDocument 500 /errors/internalerror.html么鱼网6l3G$][9bE
/_r9uR~;C
一条指令一行。上述第一条指令的意思是对于404,也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为:
qo*c,R j C么鱼网
0y.q9e3V%A h!IQGZ么鱼网 ErrorDocument 错误代码 /目录名/文件名.扩展名G*U]
f P$f K
6T r a r$N5K h
如果所需要提示的信息很少的话,不必专门制作页面,直接在指令中使用HTML号了,例如下面这个例子:
"uJOj Ll*D Zweb.meyu.net.
)k8PpS+EO么鱼网 ErrorDocument 401 “你没有权限访问该页面,请放弃!”
5G
gu"Z*H;Rz
7qT&m^;fa3P#S} iL Nq.xq
2.2.配置.htaccess 停示显示目录列表 +P/B+m/f(D.o*kS0U
有些时候,由于某种原因,你的目录里没有index文件,这意味着当有人在浏览器地址栏键入了该目录的路径,该目录下所有的文件都会显示出来,这会给你的网站留下安全隐患。pi$^q+{*\.y6W
2Cz&}
e)m为避免这种情况(而不必创建一堆的新index文件),你可以在你的.htaccess文档中键入以下命令,用以阻止目录列表的显示: Options -Indexes | |