寻找一些关于如何匹配通配符中的特定文件的指导。Apache - 匹配所有目录中的文件
实施例 - 该规则必须适用于:
/path/to/folder1/directory/index.php
/path/to/folder2/directory/index.php
/path/to/folder3/directory/index.php
下面是取得的结构的一个例子。这样做是为了确保他们提示输入用户名/密码,如果这个文件被访问:
<FilesMatch "/path/to/*/directory/index.php">
AuthName "Login"
AuthType Basic
AuthUserFile /path/to/.htpasswd
需要有效的用户
然而,这似乎并不奏效。
编辑
第一应答响应后,我改变了代码。这样做的主要目的是确保任何人访问administrator/index.php文件时,都会通过mod_security询问用户名和密码。任何其他index.php文件递归到管理员目录不应提示:
<Directory "/location/to/.*/administrator">
<Files "index.php">
AuthName "Login"
AuthType Basic
AuthUserFile /path/to/.htpasswd
require valid-user
</Files>
</Directory>
这是否有窍门?
是的,你编辑的例子应该可以工作,但在这种情况下,你不需要'。*'而是'*' - 没有'〜'(或没有DirectoryMatch),通配符使用通配符而不是正则表达式。它可能有点混乱... – mata
明白了。这确实有效。还有一个问题 - 您必须在提示的URL中输入/index.php来请求用户名/密码。任何方式也使它提示,如果他们只是键入网站/管理员/以及? –
您可以直接将auth direvtives直接放入目录部分,省略file指令,那么整个管理员目录都需要密码。应该没有太大的区别。 – mata