El .htaccess de PrestaShop: cómo regenerarlo y dónde poner tus reglas para que no se borren
El .htaccess es un fichero pequeño que, si se rompe, deja la tienda entera dando error. PrestaShop lo escribe solo, y por eso hay que saber cuándo lo rehace, dónde poner tus reglas para que no las borre y qué hacer si algo falla. Vale para la 1.7, la 8 y la 9.
En esta guía7 apartados
Para qué sirve
En los servidores Apache y LiteSpeed, el .htaccess es el fichero que convierte las direcciones amigables de tu tienda (/zapatos/12-bota-piel.html) en algo que PrestaShop entiende, y donde van las redirecciones y otras reglas del servidor. Está en la carpeta raíz de la tienda, junto al index.php. Nginx no lo lee: allí las reglas van en la configuración del servidor.
Cómo regenerarlo
- Guarda una copia del que tienes, aunque te parezca que no lleva nada tuyo.
- En Parámetros de la tienda → Tráfico & SEO, revisa los ajustes de URL (URL amigables activadas) y guarda. PrestaShop rehace el
.htaccessal guardar. - Abre la portada, una categoría, un producto y la página de una imagen para comprobar que todo responde.
En la 9.2 también se puede desde la consola, en la carpeta de la tienda: php bin/console prestashop:htaccess:generate.
PrestaShop también lo rehace cuando cambias la URL de la tienda. Por eso, después de cambiar de dominio, hay que mirarlo.
Dónde poner tus reglas para que no se borren
PrestaShop escribe su parte entre dos líneas que empiezan por # ~~start~~ y # ~~end~~. Al regenerarlo, rehace solo lo que hay entre ellas y conserva lo de encima y lo de debajo.
- Pon tus reglas encima de
# ~~start~~(redirecciones, forzarhttps, bloqueos). Debajo de# ~~end~~también se conservan, pero muchas no llegan a aplicarse: las reglas de PrestaShop van antes y ya han atendido la petición. - No borres esas dos líneas. Sin ellas, PrestaShop da todo el fichero por tuyo, lo guarda tal cual y añade su bloque debajo: acabas con las reglas repetidas.
- Termina el fichero con un salto de línea.
Lo que hemos visto al actualizar y migrar tiendas
- Las reglas de las imágenes llevan el dominio escrito. Si la tienda cambia de dominio, o la abres en otro (una copia de pruebas), las páginas cargan pero no sale ni una foto hasta regenerar el
.htaccess. - La actualización puede devolver
.htaccessque habías quitado a propósito en alguna carpeta, y lo que antes se descargaba pasa a dar error 403. Haz una lista de los que tienes antes de actualizar y compárala después. - En muchos hostings con cPanel, la versión de PHP va dentro del
.htaccess, en un bloque que escribe el panel. Si copias o restauras uno de otro servidor, la web puede pasar a otro PHP sin que lo diga el panel. Lo contamos en migrar a otro servidor.
Si después da error 500 o las URL dan 404
- Error 500 justo después de tocarlo: el servidor ha encontrado una línea que no entiende y para la web entera. Vuelve a poner la copia y añade los cambios de uno en uno. Si el error sigue con la copia buena, mira la guía del error 500.
- La portada carga y el resto da 404: falta el
.htaccesso el servidor no tiene activadas las reglas de reescritura. Regenéralo y, si sigue igual, pregunta al alojamiento si tiene activadomod_rewrite. - No puedes entrar al panel o entra en bucle: suele ser una regla de redirección que choca con la de PrestaShop. Lo tienes en ERR_TOO_MANY_REDIRECTS en PrestaShop y en no puedo entrar al panel.
¿La tienda falla después de tocar el .htaccess?
Mándanos la dirección y lo miramos. Si la tienda está caída, empezamos el mismo día laborable en que tenemos acceso.
Preguntas frecuentes
¿Dónde está el .htaccess de PrestaShop?
¿Cómo regenero el .htaccess de PrestaShop?
¿Se borran mis reglas al regenerar el .htaccess?
¿Por qué la tienda da error 500 después de tocar el .htaccess?
Comprobado el 2 de noviembre de 2026 en el código de PrestaShop: cómo genera el .htaccess, cuándo lo rehace y la orden de la 9.2.