
Tengo un sitio con una estructura de directorio virtual mysite.com/folder/title
que en realidad es una reescritura de .htaccess mysite.com/f/index.php?p=title
. Quiero proteger con contraseña la carpeta folder
con .htaccess y sé cómo hacerlo con carpetas reales. Pero no quiero proteger con contraseña el sitio principal mysite.com
, y ahora mismo, si coloco el archivo .htaccess en el mysite.com
directorio, estoy protegiendo mysite.com
y mysite.com/folder
. También he intentado proteger mysite.com/f
.
¿Cómo puedo proteger solo mysite.com/folder
usando .htaccess?
.htaccess contenidos de mysite.com
.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^folder/(.*)$ /f/index.php?p=$1 [PT,L,QSA]
RewriteRule ^folder/*$ /f/index.php [L,QSA]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Archivo .htaccess que probé mysite.com/f
Esto protege exitosamente todo el sitio cuando se mueve al otro archivo .htaccess, por lo que sé que la ruta es correcta.
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /home/myusername/.htpasswd
Respuesta1
En primer lugar, no debería colocar esa configuración (las reglas de reescritura) en archivos .htaccess, debería colocarla en el archivo de configuración principal en una sección de Directorio (suponiendo que tenga acceso a ese archivo). ElLos documentos de Apache explican por qué.
Debes comprobar que tienes la configuración AllowOverride correcta. Si todo está configurado correctamente, tener el archivo .htaccess que especificó en la carpeta mysite/f debería ser suficiente para protegerlo con contraseña.