solucion solicitud servidor página puede procesar interno funciona esta error ahora .htaccess .htpasswd

.htaccess - solicitud - http error 500 php



.htpasswd y.htaccess: error del servidor interno (4)

Todas las respuestas estándar (ruta completa, formato correcto, etc.) no funcionaban para mí. Después de buscar mucho, descubrí que los permisos en la carpeta principal eran insuficientes, por lo que, aunque la ruta en .htaccess era correcta y los permisos en el archivo eran rw-rr, aún no funciona porque el padre era rwx-rw- -. Eso puede ser difícil de rastrear en un host que limita el acceso a las carpetas de flujo ascendente.

¡esperando que alguien pueda ayudar a resolver el problema aquí! He estado buscando en Google por más de 2 horas y nada de lo que trato está funcionando ...

Quiero proteger con contraseña mi sitio web, pero tan pronto como agrego los archivos .htpasswd y .htaccess obtengo un error del servidor:

Error interno del servidor El servidor encontró un error interno o una configuración incorrecta y no pudo completar su solicitud. Póngase en contacto con el administrador del servidor e infórmeles sobre la hora en que se produjo el error y todo lo que haya hecho puede haber causado el error. Puede encontrar más información sobre este error en el registro de errores del servidor.

Aquí está el código que estoy usando:

.htaccess

AuthType Basic AuthName "Top Secret for SongKick eyes only." AuthUserFile /webroot/.htpasswd require valid-user

.htpasswd

songkick:isS1rCTQE/p8E

También probé AuthUserFile /.htpasswd (es decir, sin "webroot", que es el nombre de la carpeta en la que aparece en File Manager) pero tampoco funciona.

Estoy usando GoDaddy hosting por cierto, si eso hace la diferencia.

Cualquier ayuda es muy apreciada. No soy un desarrollador, así que no entiendo muchos de los términos utilizados en muchos de los artículos de ayuda.


Dos cosas vienen a la mente.

  1. Es .htpasswd legible por el usuario del servidor web?

  2. ¿Sabes si Apache está configurado con AllowOverride all para permitir que .htaccess funcione según lo previsto?


El motivo principal de este error es la ruta "AuthUserFile". Estaba teniendo el mismo problema y lo resolví yendo en cpanel. Al proteger su carpeta en cPanel, automáticamente detecta el archivo htpasswd.

Vaya a cPanel-> Directorios de contraseña protegida-> Definir directorio y luego crear un usuario. Espero que esto te ayude


De acuerdo con AuthUserFile , debe proporcionar la ruta completa a su archivo de contraseña, no la ruta relativa de DocumentRoot , si es absoluta (es decir, comienza con una barra inclinada).

La directiva AuthUserFile establece el nombre de un archivo de texto que contiene la lista de usuarios y contraseñas para la autenticación del usuario. File-path es la ruta al archivo de usuario. Si no es absoluto, se trata como relativo a ServerRoot .

Tenga en cuenta que ServerRoot no es DocumentRoot .

Si DocumentRoot es /var/www y el archivo de contraseña es /var/www/webroot/.htpasswd , debe decir

AuthUserFile /var/www/webroot/.htpasswd

en su archivo .htaccess.

Puede averiguar sobre la ruta absoluta con un pequeño script PHP, por ejemplo

<?php echo "Absolute path: ", getcwd();

Coloque esto en el directorio donde desea ubicar el archivo .htpasswd y llámelo con http://www.example.com/path/to/test.php

No olvides eliminar el script, cuando hayas terminado.

Dicho eso, no debes poner tu archivo de contraseña en ningún lugar accesible en tu DocumentRoot . Mejor ponlo en algún lugar al que no puedas acceder desde la web, es decir, /etc/apache2/htpasswd o donde sea que te sea conveniente.