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
@pepesoler Hola Pepe, perdona que no te haya dicho nada sobre esto todavía. He probado a poner el código que me dices en el archivo FrontController.php, y funciona. Lo único que la web se sigue viendo, y no quiero que se vea. Te resumo rápido lo que necesito: Es una web que ha dejado de existir y no quiero que la pueda ver nadie (ni si quiera que se vean los menús ni nada), y que se vaya desapareciendo de google.
Pero a la vez, me gustaría poder consultarla de vez en cuando porque tengo información que me viene bien. Sabes algún método, que no sea el de modificar el htaccess que ya hemos visto que no funciona? Gracias!
Que tal Alberto,
Pero a la vez, me gustaría poder consultarla de vez en cuando porque tengo información que me viene bien. Sabes algún método, que no sea el de modificar el htaccess que ya hemos visto que no funciona?
Considerando que ya se han aplicado los ajustes posibles creo que ya se ha limitado lo mas posible la visualización tanto a cara de google al bloquear los robots que hacen la indexación como a cara del usuario, ya que quien no tenga las credenciales para acceder no podrán visualizar más nada de la web
Si deseas enteramente que el sitio desaparezca, puedes considerar algo mas drástico como hacer una copia de seguridad y mantenerlo en local, donde podrás consultarlo cuando desees.
Otra opción es hacer un duplicado con un subdominio que solo sea de tu conocimiento, de esta forma se rompe por completo lo que se pueda asociar con el dominio anterior tanto a nivel de SEO como a nivel de conocimiento de los usuarios.
Puedes evaluarlo y nos comentas
Saludos!
@bruno-vichetti Hola Bruno, gracias por tu respuesta. Puedes pasarme alguna guía para hacer la copia de seguridad y consultarlo desde local?
En caso del subdominio, también me parece buena idea, pero como desactivaría por completo el dominio principal y dejar solo el subdominio? Tampoco quiero que se indexe. Hay alguna guía para hacer esto?
Gracias de antemano!
Hola Alberto.
como desactivaría por completo el dominio principal y dejar solo el subdominio?
Puedes crear el Subdominio y mover los archivos y carpetas a ese subdominio.
Tienes una entrada en el Blog con los pasos para mover la web:
-> Mover una instalación de PrestaShop a otra carpeta en tu Hosting
Un Saludo