
Necesito proteger todo mi sitio web (por el momento solo está en desarrollo) con una contraseña. Entonces creé un archivo .htaccess
y un .htpassword
. el .htaccess
contiene
AuthUserFile /my/absolute/path/.htpassword
AuthName "Protected"
AuthType Basic
Require valid-user
Mi árbol de directorios se ve así
/var/www
|--- file.php
|--- .htaccess
|--- dir
| |--- text.html
|--- file2.php
Si intento acceder a file.php
o file2.php
(cualquier archivo que esté directamente en /var/www
), la página web está protegida por contraseña. Sin embargo, puedo acceder al archivo en el subdirectorio ( /dir/text.html
) sin ninguna autenticación. Estoy absolutamente seguro de que no hay .htaccess
in /var/www/dir
(yo uso ls -A
).
He visto en la web que .htaccess
se supone que tiene un efecto en el directorio y TODAS las subcarpetas, y eso es lo que quiero.
¿Sabes por qué en mi caso no tiene ningún efecto en el archivo del subdirectorio? Si es así, ¿cómo puedo hacer que funcione?
Respuesta1
Si tiene una IP estática, simplemente puede permitir el acceso al sitio web solo desde una IP en la configuración de su host virtual:
<Directory /> Order Deny,Allow Deny from all Allow from 127.0.0.1 #your IP </Directory>
Respuesta2
puede escribir código personalizado en php para iniciar sesión y prohibir el acceso de descanso en el encabezado
session_start();
if(isset($_SESSION['user']))
{echo "do the stuff";}
else
{header("location:login");}