使用.htaccess保护目录时出现问题
我创建了一个.htaccess和.htpasswd文件,并将它们存储在我想要保护的文件夹中。当我导航到该文件夹时,有人要求我输入用户名和密码(存储在.htpasswd文件中)。输入用户名和密码后,我收到一个500内部服务器错误。我在本地主机(windows)和web服务器(linux)上都使用了这些文件,它们都给出了上述相同的结果 这是我的.htaccess文件:使用.htaccess保护目录时出现问题,.htaccess,.htpasswd,.htaccess,.htpasswd,我创建了一个.htaccess和.htpasswd文件,并将它们存储在我想要保护的文件夹中。当我导航到该文件夹时,有人要求我输入用户名和密码(存储在.htpasswd文件中)。输入用户名和密码后,我收到一个500内部服务器错误。我在本地主机(windows)和web服务器(linux)上都使用了这些文件,它们都给出了上述相同的结果 这是我的.htaccess文件: <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
order deny,allow
全盘否定
AuthUserFile/.htpasswd
AuthGroupFile/dev/null
AuthName“请输入您的ID和密码”
AuthType Basic
需要有效用户
命令拒绝,允许
我怀疑您的.htpasswd
文件是否真的与/bin
、/usr
、/home
等文件一起位于服务器文件系统的根目录中(而不是位于为web浏览器提供服务的文件系统的内部)
根据Apache文档(,),AuthUserFile
需要一个文件路径(就好像您在ServerRoot中,通常是/usr/Apache
或类似文件,并试图从Unix shell中查找该文件一样)。它不能是绝对或相对URL。相应地更正.htpasswd
文件路径
请注意,如果可能,您不应将
.htpasswd
文件放在公共html
或htdocs
文件夹中,因为任何配置错误不仅允许未经授权访问您想要保护的文件,还允许访问授权用户名和散列密码。我怀疑您的.htpasswd
文件是否真的与/bin
,/usr
,/home
一起位于服务器文件系统的根目录中,以及其他(而不是在为web浏览器服务的文件系统的内部)
根据Apache文档(,),AuthUserFile
需要一个文件路径(就好像您在ServerRoot中,通常是/usr/Apache
或类似文件,并试图从Unix shell中查找该文件一样)。它不能是绝对或相对URL。相应地更正.htpasswd
文件路径
请注意,如果可能,您不应将
.htpasswd
文件放入公共html
或htdocs
文件夹中,因为任何配置错误都可能不仅允许未经授权访问要保护的文件,还允许访问授权用户名和哈希密码。使用绝对托管路径,例如:
/home/content/14/5267714/html/.htpasswd
使用绝对托管路径,例如:
/home/content/14/5267714/html/.htpasswd
可以从您的Apache日志中向我们提供错误消息吗?@pex:我在哪里可以找到错误日志?可以从您的Apache日志中向我们提供错误消息吗?@pex:我在哪里可以找到错误日志?好的,我现在正在本地主机(Windows 7)上测试,AuthUserFile应该是C:/wamp/www/.htpasswd吗?在将AuthUserFile设置为C:/wamp/www/.htpasswd之后,它与我一起工作。。。但是当我在更改路径后上传文件时,它没有工作。注意:我使用免费服务。@sikas:你的web主机支持PHP,对吗?试着上传一个只包含
的PHP文件,我已经完成了这项工作,我把这个/home/sikas/public\u html/location放到了这个文件中。。。我该怎么办?@sikas:如果.htpasswd文件位于http://mysubdomain/.htpasswd
,AuthUserFile/home/sikas/public\u html/secret files/.htpasswd
如果它位于http://mysubdomain/secret-files/.htpasswd
OK,我现在正在本地主机(Windows 7)上进行测试,AuthUserFile是否应该是C:/wamp/www/.htpasswd?在将AuthUserFile设置为C:/wamp/www/.htpasswd后,它与我一起工作。。。但是当我在更改路径后上传文件时,它没有工作。注意:我使用免费服务。@sikas:你的web主机支持PHP,对吗?试着上传一个只包含的PHP文件,我已经完成了这项工作,我把这个/home/sikas/public\u html/location放到了这个文件中。。。我该怎么办?@sikas:如果.htpasswd文件位于http://mysubdomain/.htpasswd
,AuthUserFile/home/sikas/public\u html/secret files/.htpasswd
如果它位于http://mysubdomain/secret-files/.htpasswd