2010-08-04 3 views

ответ

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> 
7
AuthGroupFile /dev/null 
AuthName "Private Area" 
AuthType Basic 
AuthUserFile .htpasswd 
require valid-user 


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

</Files> 

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

+0

Мне нравится этот ответ. Просто хочу добавить, что вам, вероятно, нужно 'AllowOverride AuthConfig Limit' в конфигурации вашего сервера –

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

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

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

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

+2

Есть ли какая-то разница в [этот ответ] (http://stackoverflow.com/a/13938936/761202) здесь? – AD7six

+1

Да, мой код более понятен =) –

+2

Каким образом =) -1 для дублирования существующего ответа без дополнительной информации. – AD7six

2

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

#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 

Пример взят из: this site

2

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

RewriteEngine on 


RewriteRule !toon\.php$ - [F] 

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

Смежные вопросы