我的.htaccess
文件中有以下内容:
AuthType Basic
AuthName "Secured"
AuthUserFile ../private/passwd
Require valid-user
Order allow,deny
Allow from env=unauthenticated
Satisfy any
来自error.log
的问题是Apache说“无法打开密码文件:/ etc / apache2 / passwd” - 这显然是我的Apache root。
如何为路径指定.htaccess
文件的相对引用?
可能非常重要,这可以仅在.htaccess
文件中完成吗?
如果是这样,回答问题#2会使解决方案更加便携。
答案 0 :(得分:1)
Doc:AuthUserFile
AuthUserFile指令设置文本文件的名称,该文件包含用户身份验证的用户和密码列表。文件路径是用户文件的路径。 如果不是绝对的,则视为相对于ServerRoot。
因此,我假设您的服务器根位于/etc/apache2/
,因此您的相对网址:./passwd
将相对于根,而不是您的htaccess文件所在的位置。因此,相对于放置htaccess的位置,它不可能使其便携。
此外,文档还说:
安全强>
确保AuthUserFile存储在Web服务器的文档树之外。不要将它放在它保护的目录中。否则,客户端可能能够下载AuthUserFile。
因此,将密码文件保存在与内容相同的位置是个不错的主意。