我的下载文件夹内的 .htaccess 文件中只有这个:
<FilesMatch "\.(exe)$">
AuthType Basic
AuthName "Downloads"
AuthUserFile path/to/.htpasswd
Require valid-user
</FilesMatch>
一旦我单击下载链接a href="fileName.exe">FileName</a>
,就会出现 500 服务器错误。
如果我省略 -part <FilesMatch>
;我猜保护部分正在工作,因为我得到了登录框。但是一旦我进入受保护区域,就会发生 500 服务器错误。
我在这里做错了什么?
我的目的是只保护单个 .exe 文件以防止任何人下载。
有没有更简单或更正确的方法来做到这一点?
答案1
如果你在提问时没有打错字,第一行应该是<FilesMatch ~ "\.(exe)$">
你可以从中获得的所有信息http://httpd.apache.org/docs/2.0
答案2
如果您想保护单个文件,为什么首先要使用 FilesMatch?
当然,htaccess 文件内禁止所有目录级指令;您的错误日志将准确地告诉您做错了什么。
只需使用带有直线部分的 httpd.conf 即可。