Como negar acesso para diretórios virtuais em .htaccess para todo IP, e aceitar por 1 IP?

1

Quando você precisa negar o acesso à pasta para todo IP você deve colocar o .htaccess nesta pasta, que deve conter:

Order Deny,Allow
Deny from all
Allow from 1.1.1.1

Você pode fazer isso em hosts virtuais, como neste exemplo:

<Directory "/var/www/html/mysite/my_folder">
Order Deny,Allow
Deny from all
Allow from 1.1.1.1
</Directory>

Mas como posso resolver essa tarefa, quando my_folder não existe e seu diretório virtual?

Existe o .htaccess, que está localizado na pasta "mysite" (/var/www/html/mysite/.htaccess):

AddDefaultCharset utf-8
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteRule ^favicon.ico$ - [F,L]
# if directory exist, use it
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# if not, sent requests to index.php
#RewriteRule . index.php <-- before
RewriteRule ^([^/].*)$ /index.php/$1 [L] # <-- after
    
por mr_blond97 30.07.2015 / 22:47

1 resposta

1

Você deve usar <Location> em vez de <Directory> .

<Location /my_folder/>
Order Deny,Allow
Deny from all
Allow from 1.1.1.1
</Location>

Veja o documento nas seções para Apache 2.2 , Apache 2.4 .

    
por 31.07.2015 / 03:40