Prestashop URLs Amigables & Módulo Apache mod_rewrite

Si intentamos habilitar URLs amigables en nuestro prestashop, y no tenemos activo el módulo en nuestro servidor veremos este mensaje (La reescritura de enlaces (mod_rewrite) no está activa en su servidor o no es posible comprobar la configuración del servidor. Si desea utilizar enlaces amigables debe activar este módulo.)

PRESTASHOP_URL_AMIGABLE_mod_rewrite_Apache_01

Este módulo lo que hace es por medio de un analizador de expresiones regulares sobrescribe las urls al vuelo. Esta manipulación de urls puede depender de numerosas variables como variables de servidor, de entorno, cabeceras HTTP… Utiliza la URL completa, en el contexto del servidor (httpd.conf) o por directorio (.htaccess), el resultado del procesamiento (la url calculada) puede utilizarse para su procesamiento interno, o para redirección externa o incluso redireccion a proxy interno.

Aunque nuestro prestashop ya nos advierte que el módulo no esta disponible podemos comprobarlo directamente en nuestro servidor, desde Ubuntu podemos lanzar el comando

apache2ctl -M

(o así apache2ctl -M | sort si queremos que nos lo ordene alfabeticamente)

también podemos montar en nuestro servidor una página php con el siguiente código

<?php

phpinfo();

?>

esto mostraría toda la info, opción por defecto (INFO_ALL) pero podríamos haber utilizado phpinfo(INFO_MODULES); para ver únicamente la info de los módulos, nuestro servidor mostrará una lista

PRESTASHOP_URL_AMIGABLE_mod_rewrite_Apache_02

para habilitarlo en ubuntu basta ejecutar el siguiente comando

sudo a2enmod rewrite

una vez reiniciado el apache si volvemos a comprobar nuestro php.info

PRESTASHOP_URL_AMIGABLE_mod_rewrite_Apache_03

queda una última cosa ahora debemos autorizar el directorio correspondiente de modo que se permita el uso. En el fichero apache2.conf buscamos el directorio donde está montado nuestro prestashop (seguramente dentro de /var/www) y cambiamos el permiso

de  ->  AllowOverride None    a  ->  AllowOverride ALL

ya lo tenemos habilitado nos volvemos al prestashop e intentamos habilitarlo de nuevo, veremos que ya no nos da el error de antes y además tenemos disponibles las opciones correspondientes. Si nos saltamos el paso anterior (revisar el apache2.conf) aunque el módulo esté habilitado como la reescritura de urls no está permitida en el directorio de nuestro prestashop nos dará un error 404 de página no encontrada, y evidentemente no funcionará.

 

 

Esta entrada fue publicada en Apache, Linux, PHP, Prestashop. Guarda el enlace permanente.

2 respuestas a Prestashop URLs Amigables & Módulo Apache mod_rewrite

  1. Alvaro Cofre dijo:

    Gracias compañero me sirvió tu info!

  2. Hola me ha encantado el articulo, llevaba tiempo interesado en esto porque lo estube cuestionando el otro dia con un amigo, al final tenia yo razón por lo que veo. Enhorabuena al autor esperemos que sigan asi, nosotros tenemos un blog igual pero trata de técnicas sobre redes sociales, como conseguir mas seguidores, likes en tus publicaciones y demás. se llama creapublicidadonline.es ¡quedan invitados! gracias, un abrazo fuerte.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *