htaccess上的FilesMatch导致内部服务器错误

时间:2014-09-30 14:55:21

标签: apache .htaccess

确定我尝试使用密码保护目录,但不保护其中的文件。我们发送链接给客户打开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联系,告知他们错误发生的时间,以及可能导致错误的任何操作。

服务器错误日志中可能提供了有关此错误的更多信息。

当然,这只是我的语法,我已经尝试了所有的东西而且它不会工作。我删除文件匹配行后很快就可以正常工作。

1 个答案:

答案 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