如何从基本身份验证中排除文件夹中的文件(正则表达式帮助)?

如何从基本身份验证中排除文件夹中的文件(正则表达式帮助)?

我的网站上有一个包含管理文件的文件夹,在经过一些不必要的关注后,我添加了基本身份验证。这很好用,但是有几个管理功能无法通过基本身份验证工作,因为它们处理文件上传,所以我想将这些文件排除在身份验证之外。这不会有任何安全隐患,因为任何恶意用户都无法访问可以创建会话以使用这些功能的页面。

我正在使用以下基本代码来排除文件:

<FilesMatch "(index.php\/myadminfolder\/myurl\/myaction/someotherstuff?)$">
Satisfy Any
Order allow,deny
Allow from all
Deny from none
</FilesMatch>

URL 排除不起作用。

要排除的 URL 的格式为:

index.php/目录/子目录/动作/uniqueid/blah

应将哪个正确的 URL 字符串添加到 FilesMatch 中以排除任何以 index.php/directory/subdirectory/action 模式开头的文件(无论操作之后是什么)?

谢谢

西蒙

答案1

我猜想该文件index.php/directory/subdirectory/action/uniqueid/blah实际上并不存在。可能只有一个index.php文件,您将其附加/directory/subdirectory/action/uniqueid/blahPATH_INFO

尝试使用地点/位置匹配而不是 Files/FilesMatch。

答案2

就像 joschi 所说的那样,您应该改用 <LocationMatch></LocationMatch>。另外,我认为您不需要在 ...Match 指令中转义 /s。

相关内容