He protegido con contraseña todo mi sitio web usando, .htaccess
pero me gustaría exponer uno de los subdirectorios para que se pueda ver sin contraseña.
¿Cómo puedo deshabilitar la protección con contraseña de htaccess para un subdirectorio? Específicamente cuál es la .htaccess
sintaxis.
Aquí está mi .htaccess
archivo que se coloca en la raíz de mi ftp.
AuthName "Administración del sitio" AuthUserFile /dir/.htpasswd AuthGroupFile / dev / null AuthName seguro AuthType Basic requerir usuario username1 orden permitir, negar permitir de todos
Respuestas:
Debe crear un nuevo
.htaccess
archivo en el directorio requerido e incluir laSatisfy any
directiva en él como tal, hasta Apache 2.3:La sintaxis cambió en Apache 2.4, esto tiene el mismo efecto:
fuente
Allow from all
noSatisfy Any
.thanks
Satisfy Any
está funcionando y estaba mal escrito comoSatisify Any
. Puede ser que esa sea la razón por la que no funcionó para usted.Agregando a la respuesta de RageZ, usé esto en las Directivas del servidor:
Increíble. ¡Gracias RageZ!
fuente
Simplemente cree uno nuevo
.htaccess
en el subdirectorio deseado con esta directiva:Allow from all
Puede restringir su IP solo con:
Allow from x.x.x.x
Ver: http://httpd.apache.org/docs/current/mod/mod_access_compat.html
fuente
Debe agregar otro archivo .htaccess al subdirectorio que anula la autenticación. .htaccess va en cascada hacia arriba, es decir, buscará en la carpeta actual, luego subirá un nivel y así sucesivamente.
fuente
Aquí hay una forma de permitir el subdirectorio "foo" a través de la autenticación básica del archivo .htaccess principal en un sitio:
Nota: esto funciona en Apache 2.4. No lo he confirmado para versiones anteriores.
fuente
Si desea evitar cualquier directoty específico de la autenticación de htaccess, puede usar el siguiente código en su archivo htaccess en la parte superior.
AuthType Basic AuthName "Enter Pass" AuthUserFile /home/public_html/.htpasswd /*PATH TO YOUR .htpasswd FILE*/ Require valid-user SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow Order allow,deny Allow from env=allow
Además, si desea evitar varios directorios, agregue
SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow
tantas veces como directorios desee eliminar de la prevención de htaccess.
fuente