.htaccess 拒绝访问多个文件

.htaccess 拒绝访问多个文件

我想拒绝访问具有完全相同名称的多个文件。因此我尝试了但没有成功:

<Files config.inc.php config_smtp.inc.php>
  Order allow,deny
  Deny from all
</Files>

我无法使用 FilesMatch,因为我想拒绝名称完全相同的文件。

答案1

我无法使用 FilesMatch,因为我想拒绝名称完全相同的文件。

FilesMatch正是你可以使用的。例如:

<FilesMatch "^(config\.inc\.php|config_smtp\.inc\.php)$">
  Order allow,deny
  Deny from all
</FilesMatch>

在这种情况下,正则表达式可以稍微缩短一点,例如,^config(_smtp)?\.inc\.php$匹配与上面相同的两个文件。

请注意,由于您使用的是 Apache 2.4,因此您应该使用mod_authz_host而是。例如:

<FilesMatch "^(config\.inc\.php|config_smtp\.inc\.php)$">
  Require all denied
</FilesMatch>

相关内容