2017-07-17 7 views
0

我在.htaccess文件中的以下内容:htaccess文件的引用将在/ etc/apache2的,试图改变相对

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根目录。

我该如何为路径指定一个相对于.htaccess文件的相对引用?

而且可能非常重要,这只能在.htaccess文件中完成吗?

如果是这样,回答问题#2将使解决方案更便携。

回答

1

文件:AuthUserFile

的AuthUserFile伪指令设置一个包含用户名和密码进行用户认证列表中选择一个文本文件的名称。文件路径是用户文件的路径。 如果不是绝对的,则将其视为相对于ServerRoot。

所以我假设你的服务器的根目录是在/etc/apache2/所以你的相对URL:./passwd将相对于根,您的htaccess文件是。因此,无法将其设置为便携式,并且与放置htaccess的位置相关。

此外,该文件还称:

安全

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

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

+0

为了讨论的缘故,我将路径改为了'../ private',即使绝对路径似乎是一个硬性要求。 –