【发布时间】:2017-08-15 00:08:10
【问题描述】:
我对 .htaccess 文件没有太多经验,我想要一个禁止访问(403 Forbiden)文件夹及其所有子文件夹中的.myext 文件的文件。
谁能给我写一个快速的规则?
【问题讨论】:
我对 .htaccess 文件没有太多经验,我想要一个禁止访问(403 Forbiden)文件夹及其所有子文件夹中的.myext 文件的文件。
谁能给我写一个快速的规则?
【问题讨论】:
您可以使用<FilesMatch> 和Deny:
<FilesMatch "\.myext$">
Deny from all
</FilesMatch>
您可能还需要更改order of how Allow and Deny rules are applied。
另一种选择是使用mod_rewrite:
RewriteEngine on
RewriteRule .+\.myext$ - [F]
要将这些指令仅应用于特定目录,请将它们放入该特定目录的 .htaccess 文件中。使用 mod_rewrite 您还可以在规则模式中指定路径,例如:
RewriteRule ^foo/bar/.+\.myext$ - [F]
【讨论】:
mod_rewrite完成的,而FilesMatch包含在核心中(如果你不能/不会加载mod_rewrite):httpd.apache.org/docs/2.2/mod/core.html#filesmatch