我在 shell 中,我的 web 文件夹位于/home/w/waterfox/public_html
。在那里,我有一个名为 的目录irclogs
,我试图用密码保护它。它的 chmodded 设置为 755。
这是.htaccess
我放在 public_html 文件夹中的文件:
<Directory /home/w/waterfox/public_html/irclogs>
AuthUserFile "/home/w/waterfox/public_html/.htpasswd"
AuthType Basic
AuthName "Restricted"
Require valid-user
</Directory>
当我尝试访问我的网站的任何部分(包括irclogs
文件夹外的内容)时,我得到一个500 Internal Server Error
。
它似乎与我的 .htpasswd 文件没有任何关系,因为我可以用它保护单个<Files>
文件<FilesMatch>
。
答案1
<Directory>
.htaccess 文件中不需要标签,因为假定您希望将包含的规则应用于 .htaccess 所在的文件夹。删除开始和结束<Directory>
标签,将 .htaccess 移至 irclogs 文件夹,这样就大功告成了。
答案2
如果你查看文档中的 Directory 指令:
http://httpd.apache.org/docs/current/mod/core.html#directory
您将看到描述框内有一个上下文描述:
这表明该指令在服务器的配置文件中是合法的。
http://httpd.apache.org/docs/current/mod/directive-dict.html#Context
正如您所见,由于 ErikA 指出的原因,.htaccess 并不存在于该列表中。