在Apache中,我如何设置密码保护?

我试图用Apachebuild立一个服务器。 在conf文件中,我插入了代码:

<Directory /> Options FollowSymLinks AllowOverride AuthConfig AuthType Basic AuthName "Restricted Files" AuthBasicProvider file AuthUserFile C:\...\serverpass.txt Require user Admin </Directory> 

为了试图让Apache需要密码。 我用htpasswd -c创build了用户名和密码。 当我到本地主机虽然,它不会提示我input用户名和密码?

/不是Windows中的path,所以<Directory />不会执行任何操作。

考虑使用<Location /><Directory c:/path/to/webroot/>

您做了这些更改后重新启动Apache Web服务器?

另外,你是否检查过httpd.conf及其所有包含文件中的冲突指令。 记住最后一个覆盖的指令(和更具体的指令)遇到赢得游戏并被使用。

尝试使用“/”作为path分隔符,而不是windows-典型的“\”。

正如它在Apache文档中所说 :

接受文件名作为参数的指令必须使用Windows文件名而不是Unix文件名。 但是,由于Apache可能会将反斜杠解释为“转义字符”序列,因此您应该在path名称中始终使用正斜杠,而不是反斜杠。 可以使用驱动器盘符; 如果省略,则SystemRoot伪指令(或-d命令行选项)的驱动器将成为默认值。

 <Directory /> 

/这里应该replace为你正在寻找authentication的特定目录。 更改并重新启动Web服务器。

那之后它就起作用了。