htaccess文件引用转到/ etc / apache2,尝试更改为relative

时间:2017-07-17 13:16:17

标签: .htaccess apache2

我的.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会使解决方案更加便携。

1 个答案:

答案 0 :(得分:1)

Doc:AuthUserFile

  

AuthUserFile指令设置文本文件的名称,该文件包含用户身份验证的用户和密码列表。文件路径是用户文件的路径。 如果不是绝对的,则视为相对于ServerRoot。

因此,我假设您的服务器根位于/etc/apache2/,因此您的相对网址:./passwd将相对于根,而不是您的htaccess文件所在的位置。因此,相对于放置htaccess的位置,它不可能使其便携。

此外,文档还说:

  

安全

     

确保AuthUserFile存储在Web服务器的文档树之外。不要将它放在它保护的目录中。否则,客户端可能能够下载AuthUserFile。

因此,将密码文件保存在与内容相同的位置是个不错的主意。