.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>

Связанный контент