jueves, 28 de junio de 2018

Problemas con Wordpress - No se pueden ver las imágenes


Hace poco tuvimos un problema con un cliente que usa wordpress, las imágenes, completamente todas, habían desaparecido.

Vaya problema, revisamos todo el wordpress, primero apariencia -->Personalizar y fuimos por el logo, al entrar a multimedia nos dimos con la sorpresa que no se veían las imágenes, solo cuadros plomos, como si estuvieran y no hubiera cargado la página bien, esa sensación tuve.

Bueno fui a un link para ver si se veía la imagen sola, tampoco, me arroja error 404, página no existe.

Ahora a revisar Ajustes--> Multimedia
Ajustes--> Enlaces Permanentes

Y todo lo que se pueda revisar en wordpress y nada

Entramos al panel de control del cliente y revisamos el phpMyAdmin, la base de datos a ver que encontramos y bueno nada.

A buscar en google, de repente alguien a tenido algún problema parecido, hubo muchos, pero no todos son los mismos problemas, al menos no encontraba lo que yo buscaba.

Entonces se me ocurrió buscar en los archivos del cliente, de nuevo al panel de control del cliente --> achivos -->html

Tenemos el archivo .htaccess y entramos a revisar y nos damos con la sorpresa que tiene un contenido de más, bueno antes de hacer cualquier cambio hacemos un backup del archivo y luego creamos el archivo sin el contenido adicional que era este

RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]


# php -- BEGIN cPanel-generated handler, do not edit
# Configure el paquete “ea-php71” como el lenguaje de programación predeterminado “PHP”.
<IfModule mime_module>
  AddType application/x-httpd-ea-php71 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

Y grabamos y probamos nuestro sitio nuevamente y se arreglo el problema, las imágenes volvieron a aparecer.

Un aparte para saber que nos indica los indicadores [F,NC]

El uso del indicador [NC] hace coincidir a RewriteRule de una manera que no distingue entre mayúsculas y minúsculas.

El uso del indicador [F] hace que el servidor devuelva un código de estado Prohibido 403 al cliente. Si bien el mismo comportamiento se puede lograr utilizando la directiva Deny , esto permite una mayor flexibilidad en la asignación de un estado Prohibido.