Подтвердить что ты не робот

.htaccess запрещает доступ ко всем, кроме одного файла

Как я могу запретить доступ к полной папке и подпапкам, за исключением одного файла? Этот файл: toon.php и находится в той же папке.

4b9b3361

Ответ 1

Order Allow,Deny
<FilesMatch "^toon\.php$">
Allow from all
</FilesMatch>

Это, вероятно, наиболее эффективно, что вы можете получить.

Ответ 2

AuthGroupFile /dev/null
AuthName "Private Area"
AuthType Basic
AuthUserFile .htpasswd
require valid-user


<Files "toon.php">
Allow from all
Satisfy Any

</Files>

Работает для меня. Не забудьте настроить файл .htpasswd.

Ответ 3

Deny From All
<FilesMatch "^toon\.php$">
Allow From All
</FilesMatch>

Работал для меня...

Ответ 4

Вы можете использовать директивы <Directory> и <Files>. Вы можете посмотреть здесь документацию:

http://httpd.apache.org/docs/1.3/mod/core.html#directory

http://httpd.apache.org/docs/1.3/mod/core.html#files

Короче говоря, вы хотите что-то вроде этого:

<Directory /folder/without/access >
     Order Deny,Allow
     Deny from All
</Directory>

<Files "filename">
     Order Deny,Allow
     Allow from All
</Files>

Ответ 5

Добавьте следующее правило в файл htaccess в корневом каталоге

RewriteEngine on


RewriteRule !toon\.php$ - [F]

Это запретит доступ ко всем файлам и папкам, кроме toon.php.

Ответ 6

Если, как и я, вы ищете способ аутентификации на весь сайт/папку, за исключением одного файла, вы обнаружите, что этот метод работает очень хорошо:

#allows a single uri through the .htaccess password protection
SetEnvIf Request_URI "/testing_uri$" test_uri

AuthName "Restricted Area"
AuthType Basic
AuthUserFile /path/to/your/.htpasswd
AuthGroupFile /
Require valid-user

#Allow valid-user
Deny from all
Allow from env=test_uri
Satisfy any

Пример взято из: этот сайт