2011-10-04 16 views

Respuesta

34

directivas .htaccess apply to that directory, and all subdirectories thereof, por lo que debe permitir el acceso en su DocumentRoot,

http://sub.mydomain.com/.htaccess:

Order deny,allow 
Deny from all 

y anular que en los subdirectorios específicos que desea permitir el acceso a,

http://sub.mydomain.com/test/.htaccess:

Order allow,deny 
Allow from all 
+5

lo que deberíamos hacer en caso de muchos subdirectorios? –

+0

Esta es una suposición no probada, pero solo necesita ese segundo '.htaccess' en cualquier subdirectorio que se supone que es accesible desde la web – Matthew

1

Trate de crear el archivo .htaccess en sub.mydomain.com de deny, y en sub.midominio.com/test para permitir.

O puede redirigir desde http://sub.mydomain.com/ para denegar subdirectorio.

8

¿Qué tal un .htaccess en el directorio raíz, con las siguientes líneas?

RewriteEngine On 
# check if request is for subdomain 
RewriteCond %{HTTP_HOST} ^sub.mydomain.com$ [NC] 
# check if 'test' isnt part of request 
RewriteCond %{REQUEST_URI} !^/test/?(.*)$ [NC] 
# if subdomain and no 'test' part, redirect to main domain... 
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R,L] 

lo tanto, si la sección '/ test /' está presente, sin redirección tiene lugar ...

+0

se ve muy interesante. Debo admitir que no estoy realmente familiarizado con mod_rewrite. Así que no tengo ni idea de qué [NC] y [R, L] significa ... –

+3

NC significa insensible a mayúsculas y minúsculas, R = redirigir, L = último (deje de aplicar las reglas de htaccess después de esto) – SW4

Cuestiones relacionadas