确定我尝试使用密码保护目录,但不保护其中的文件。我们发送链接给客户打开pdf ....但我不希望他们看到目录的内容,因此htaccess。
我通过Cpanel设置密码并使用fullpath.php检查正确的路径。然后我上传以下htaccess文件,该文件工作正常:
AuthName "Secure Area"
AuthUserFile "/home4/o558316/.htpasswds/public_html/pdfs/passwd"
AuthType Basic
require valid-user
然后我添加文件匹配行:
<FilesMatch "\.(jpg|gif|png|pdf)$">
Order Deny,Allow
Allow from all
</FilesMatch>
它返回内部服务器错误
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
请与服务器管理员admin @ localhost联系,告知他们错误发生的时间,以及可能导致错误的任何操作。
服务器错误日志中可能提供了有关此错误的更多信息。
当然,这只是我的语法,我已经尝试了所有的东西而且它不会工作。我删除文件匹配行后很快就可以正常工作。
答案 0 :(得分:0)
如果你考虑你的指令和文件匹配规则的构造,那么你要做的就是阻止访问所有内容,除了指定的内容之外的所有内容 - 那么浏览器如何访问,例如,错误文件其中扩展名为.php?
我个人通过.htaccess文件中的以下行禁用目录列表:
# Disable Directory Listings in this Directory and Subdirectories
# This will hide the files from the public unless they know direct URLs
Options -Indexes