Я хотел бы запретить доступ к нескольким файлам с точным именем. Поэтому я попробовал, но безуспешно:
<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>