В папке есть несколько файлов *php, один из них указан как DirectoryIndex.
Требуется стандартными средствами .htaccess запретить обращаться ко всем файлам, кроме индексного.
Например:$ ls -a /var/www/dir
.htaccess test1.php test2.php index1.php$ cat /var/www/dir/.htaccess
DirectoryIndex index1.php
Order Allow,Deny
<Files index1.php>
Allow from all
</Files>
<FilesMatch "\.php">
Deny from all
</FilesMatch>Но данный вариант не работает, на все запросы (GET /dir, GET /dir/index1.php, GET /dir/test1.php) выдаёт 403 ошибку, хотя в первых двух случаях должен показываться результат работы index1.php
>[оверквотинг удален]
><Files index1.php>
>Allow from all
></Files>
><FilesMatch "\.php">
>Deny from all
></FilesMatch>
>
>Но данный вариант не работает, на все запросы (GET /dir, GET /dir/index1.php,
>GET /dir/test1.php) выдаёт 403 ошибку, хотя в первых двух случаях должен
>показываться результат работы index1.phpНашёл, проблема была в очерёдности правил. Вот такая конструкция работает:
DirectoryIndex service.php
Order Deny,Allow # можно не указывать, т.к. это значение по умолчанию
<FilesMatch "\.php">
Deny from all
</FilesMatch>
<Files service.php>
Allow from all
</Files>