【问题标题】:FilesMatch on htaccess causing internal server errorhtaccess 上的 FilesMatch 导致内部服务器错误
【发布时间】:2014-09-30 14:55:21
【问题描述】:

好的,我正在尝试对目录进行密码保护,而不是其中的文件。我们将链接发送给客户以打开 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 并告知他们错误发生的时间,以及您所做的任何可能导致错误的事情。

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

当然,这只是我的语法,我已经尝试了几乎所有方法,但它就是行不通。一旦我删除了文件匹配行,它就可以正常工作了。

【问题讨论】:

  • 为什么不直接更改文件夹权限?
  • 您是否按照建议检查了错误日志?始终检查日志,无论错误如何。特别是如果服务器甚至建议它。

标签: apache .htaccess


【解决方案1】:

如果您在这里考虑指令和文件匹配规则的构造,那么您要做的是阻止对所有内容的访问,绝对是除了指定的内容之外的所有内容 - 那么浏览器如何访问,比如说,一个错误文件例如扩展名 .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

【讨论】:

  • 但是我需要一些人(有密码的人)来查看目录列表。本质上,我们向客户发送一个 URL - www.mysite.com/folder/yourdoucment.pdf,我希望他们能够在没有密码的情况下打开 pdf,但看不到“/folder”的内容
猜你喜欢
  • 1970-01-01
  • 2019-04-15
  • 2017-07-05
  • 1970-01-01
  • 2015-11-23
  • 2010-10-07
  • 2014-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多