" k( U. m! \6 j2 C+ @5 l7 a ~ 5 u1 ^, Z! M/ D. V1 B
只要Apache可以读取其密码文件,该文件可放在系统上的任何地方。把这个文件与.htaccess文件放在同一目录下也是安全的,因为默认情况下,Apache将不会对名字以.ht开头的任何文件的请求进行回复。但是一定不要更改httpd.conf配置文件,以防Apache对名字以.ht开头的文件的请求进行回复。( V' P3 ~$ I& i" w
2 Z5 f" O% N d! f % V/ H5 g" M) p- d6 a2 H3 K
: y! R: x L, ^* K* a0 ~. b
下面的命令将在工作目录中创建(–c)一个带有Sam条目的.htpasswd文件。省略–c选项可以在现有.htpasswd文件中添加用户或更改密码。9 l4 K* r& R4 s
4 J% s3 S) c7 ?2 D0 P. G
$ htpasswd -c .htpasswd sam5 J1 C, e- H) a
1 c; s( ]2 y* f
New password: 1 O+ g$ N/ a7 o5 @$ l 4 m( J% r; t& f) ]$ i+ {+ z
Re-type new password: 7 u% A# [8 F. C' k0 w4 |6 J2 F ' }4 J. z! t. c2 ]! c
Adding password for user sam2 O& Y& D; a) @, {
0 L6 e% b5 Q+ K$ M" U% N- U {
# ^, H' _) b) R5 m" N) w8 S 9 t% r: ` R9 R: G默认的httpd.conf文件包括用于/var/www的AllowOverride None指令。要启用Apache来处理用户认证指令(如读取.htaccess文件),必须将这个指令更改为AllowOverride AuthConfig或将其删除。 ) m6 \- g. z V: q [4 t - i- E7 X! Q! w
# d Y: c" v8 z, v
0 Z/ v: i, ?; v0 N
在Apache已配置为可处理.htaccess文件后,当它收到对文件的请求时,必须从所请求的文件向上遍历目录层次结构一直到根目录,查找.htacess文件,以确定它是否可以提供该请求的文件。此搜索可能会影响性能。通常情况下性能下降不太严重,但如果性能很关键,则这个问题将很棘手。