l error @strange 401 aparece para algunas URL cuando se usa .htaccess para redirigir http a https
OK, este es el séptimo día de intento fallido de encontrar una respuesta por qué aparece el error 401 ...
Ahora, .htaccess en la carpeta raíz contiene las únicas 3 cadenas (se simplificó) y NO hay más archivos .htaccess en el proyecto:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Entonces, redirige todas las solicitudes para que sean https. Funciona bien para cualquier URL, incluso para / directorio de administración.
Entonces
http://mydomain.com
se convierte en
https://mydomain.com
Sihttps://mydomain.com
se ingresó, no hay redirecciones.
http://mydomain.com/administration/index.php
se convierte en
https://mydomain.com/administration/index.php
Sihttps://mydomain.com/administration/index.php
se ingresó, no hay redirecciones.
Eso está claro, y el problema está abajo.
Quiero que el directorio de administración esté protegido con contraseña. My Shared Hosting Control Panel permite proteger directorios sin la creación manual de .htaccess y .htpasswd (usted elige un directorio para proteger, crear nombre de usuario y contraseña, y .htaccess y .htpasswd se crean automáticamente). Entonces, .htaccess aparece en la carpeta / administración. .htpasswd aparece en otro lugar, la ruta a .htpasswd es correcta y todo parece correcto (funciona de la misma manera que para crearlo manualmente). Entonces, hay 2 archivos .htaccess en el proyecto, uno en el directorio raíz y otro en el directorio / administración (con .htpasswd en el directorio .htaccess sabe dónde está).
Una vez que se crea la contraseña, los resultados son:
Tu entras
https://mydomain.com/administration/index.php
Luego, solicita ingresar una contraseña. Si lo ingresas correctamente,https://mydomain.com/administration/index.php
se visualiza. @ El resultado: funciona perfecto.
Pero, si ingresas http://mydomain.com/administration/index.php
(sí, http, sin S), entonces, en lugar de redirigir a la misma página, pero https, redirige a
https://mydomain.com/401.shtml (starts with httpS)
por razones desconocidas e incluso NO pide una contraseña. @¿Por qué
Me puse en contacto con un servicio de atención al cliente con respecto a esta pregunta y están seguros de que el problema está en el archivo .htaccess, y no arreglan los archivos .htaccess (eso está claro, no lo hacen, no me importa).
¿Por qué pasó esto? ¿Olvidé poner algunas banderas o algunas opciones para cambiar la configuración predeterminada en el archivo .htaccess?
P.S.Creando .htaccess y .htpasswd manualmente (no desde el Panel de control de alojamiento) para la carpeta / administración causa el mismo error 401 en caso de que no sea https, pero se ingresó http.
Y el problema aparece solo con las URL del directorio / administración.
Gracias