Buenos días, siguiendo el siguiente blog https://www.webempresa.com/blog/oculta-tu-wordpress-a-los-motores-de-busqueda.html, en el apartado de "Proteger el acceso mediante directiva en .htaccess", he seguido todas las instrucciones, cuando entro en la web me aparece usuario y contraseña, pero cuando pongo los credenciales me sale un error 500 https://ibb.co/9hNRTZn
Esta es la ruta https://ibb.co/T4KFhKn donde he puesto el archivo .htpasswds generado con HTPasswd Generator.
Este es el archivo de .htaccess https://ibb.co/ChBN84b
El dominio afectado es spanishdelicia.com
Algo que esté haciendo mal? Gracias de antemano por vuestra ayuda.
Un saludo.
Contenido solo visible a usuarios registrados
Hola de nuevo, edito la pregunta, me he dado cuenta que estaba tocando el .htaccess de la raíz y no el de la web en cuestión, pero me sigue pasando lo mismo.
La ruta donde he puesto el archivo .htpasswds es /public_html/spanishdelicia.com/.htpasswds
He probado a poner en el .htaccess la ruta sin incluir el archivo /public_html/spanishdelicia.com/.htpasswds y también incluyendo el archivo /public_html/spanishdelicia.com/.htpasswds/.htpasswds pero nada.
En el .htaccess lo he puesto abajo del todo, es la primera vez que toco este archivo, supongo que será así... https://ibb.co/t4BdYb0
Un saludo.
Hola Alberto.
El acceso con contraseña esta bien ya que carga el login, el problema lo tienes que tener en la instalación.
Hemos corregido los permisos que tenías en las carpetas y archivos. Los permisos correctos de ficheros para que tu web funcione correctamente son 644 y Los permisos correctos de directorios para que tu web funcione correctamente son 755.
Revisa si con eso se soluciono y nos comentas.
Un Saludo
Gracias Pepe por tu rápida respuesta. Pruebo y me sigue saliendo el mismo error 500. Como te decía en la pregunta editada, ahora mismo está así configurado:
.htaccess:
AuthType Basic
AuthName "Acceso Restringido"
AuthUserFile /public_html/spanishdelicia.com/.encript/.htpasswds
Require valid-user
He cambiado el nombre de la carpeta por .encript por si tuviera algo que ver al llamarse igual que el archivo pero nada.
Veo que en la carpeta raíz de la web hay 3 archivos .htaccess... el que estoy tocando es el .htaccess (luego hay otro .htaccess--- y otro .htaccess-original). Supongo que el que estoy tocando es el correcto.
.htpasswds:
Únicamente el código generado con HTPasswd Generator, del estilo user:xxxxxxxxxxxxxx
He probado a no ponerlo encriptado, poniendo user:contraseña pero tampoco.
Un saludo.
Hola Alberto.
El único error que veo en los log es el siguiente:
PHP Deprecated: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in /home/vegajar1/public_html/spanishdelicia.com/modules/sekeywords/sekeywords.php on line 92
Este error hace referencia al módulo sekeywords
.- Prueba acceder a la carpeta modules y renombrar la carpeta sekeywords
De todas formas para comprobar si el problema viene por las directivas del archivo htaccess, elimina esa configuración y accede sin proteger el directorio.
Si lo único que quieres es que no se rastree esa web solo tienes que añadir la siguiente en el archivo robots.txt:
User-agent: *
Disallow: /
Si lo que quieres es que la web no sea visible puedes hacer que solo sea visible a usuarios registrados, es decir, paar poder ver la web el usuario tendrá que acceder con su usuario y contraseña, si no esta logueado siempre redirecciona a la página de login.
.- Accede a public_html -> Carpeta de la instalación -> classes -> controller y edita el archivo FrontController.php
.- Sobre la línea 260 verás la siguiente función public function init()
.- Justo al final de esa función, sobre la línea 283 vers lo siguiente " parent::init(); "
.- Debajo de ese código añade lo siguiente:
if (!$this->context->customer->isLogged() && $this->php_self != 'authentication' && $this->php_self != 'password')
Tools::redirect('index.php?controller=authentication?back=my-account');
Este código lo que hace es que siempre que un usuario intente acceder a tu dominio será redirigido a la página de Login y si no tiene acceso no podrá verla, con eso no hace falta que protejas el directorio con el archivo htaccess
Un Saludo