URLs amigables en Prestahop bajo lighttpd

Creado por Miguel Angel Pedregosa | Guardado en Comercio electrónico, General, Personal | Fecha de creación 18-02-2010

0

Para un proyecto de comercio electrónico que estamos desarrollando se ha optado por una solución basada en el gran software libre Prestashop.

A la hora de su implantación opté por lighttpd con php vía fastcgi en lugar de usar el siempre socorrido Apache2, principalmente por temas de rendimiento.

Prestashop funciona perfectamente bajo lighttpd, el único problema encontrado estuvo en las url amigables. Prestashop genera un fichero .htaccess con las reglas que necesita para funcionar bajo Apache.

Lighttpd soporta la redirección de urls de un modo muy similar a como lo hace Apache, aunque con pequeñas diferencias en su configuración y en la definición de las reglas para la rescritura de urls. Vamos a ver como activar el soporte de esta característica, así como las reglas necesarias para que Prestashop funcione correctamente.

Una vez instalado y funcionando lighttpd en nuestra máquina, editamos el archivo /etc/lighttpd/lighttpd.conf con nuestro editor de texto favorito.

Eliminamos la almohadilla de la linea:

#                        "mod_rewrite",

En el mismo fichero, dónde tengamos la definición del host virtual, añadimos las siguientes líneas para que las urls de Prestashop funcionen correctamente.

url.rewrite-once = (
        "^/([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$" => "/img/p/$1-$2$3.jpg",
        "^/([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$" => "/img/c/$1$2.jpg",
        "^/lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(\?(.*))?" => "/product.php?id_product=$3&isolang=$1$6" ,
        "^/lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(\?(.*))?" =>"/product.php?id_product=$2&isolang=$1&$4",
        "^/lang-([a-z]{2})/content/([0-9]+)\-([a-zA-Z0-9-]*)(\?(.*))?" =>"/cms.php?id_cms=$2&isolang=$1&$4",
        "^/lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(\?(.*))?" =>"/category.php?id_category=$2&isolang=$1&$5" ,
 
        "^/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(\?(.*))?" => "/product.php?id_product=$2&$5" ,
        "^/([0-9]+)\-([a-zA-Z0-9-]*)\.html(\?(.*))?" =>"/product.php?id_product=$1&$4",
        "^/([0-9]+)\-([a-zA-Z0-9-]*)(\?(.*))?" =>"/category.php?id_category=$1&$4" ,
        "^/content/([0-9]+)\-([a-zA-Z0-9-]*)(\?(.*))?" =>"/cms.php?id_cms=$1&$4" ,
        "^/([0-9]+)__([a-zA-Z0-9-]*)(\?(.*))?" =>"/supplier.php?id_supplier=$1&$4" ,
        "^/([0-9]+)_([a-zA-Z0-9-]*)(\?(.*))?" =>"/manufacturer.php?id_manufacturer=$1&$4",
 
        "^/lang-([a-z]{2})/(\?(.*))?" => "/index.php?isolang=$1&$2"
 
)

Listo, guardamos el archivo y reiniciamos lighttpd para aplicar los cambios. Si has cometido algún error de sintaxis el sistema te avisará y no arrancará hasta que no lo hayamos corregido. He subido el código a Pastebin por si no se muestra correctamente en el blog.

Recordar también que debemos activar el soporte para las urls amigables en el backend de Prestashop, en las opciones de nuestro sitio web.

¿Dónde está la Amazon española?

Creado por Miguel Angel Pedregosa | Guardado en Comercio electrónico, Libros | Fecha de creación 08-08-2009

3

Libros

Vale,  se que no soy Enrique Dans pero me voy a permitir dar mi propia opinión sobre este tema. ¿Qué pasa en España con la venta de libros por Internet? Mejor dicho ¿Qué pasa en España con las librerias virtuales?

España, un país donde tradicionalmente se lee poco. Somos más de ver Gran Hermano en la televisión, cotillear con la vecina del segundo o quejarnos de los políticos corruptos de turno (aunque les sigamos votando), todo esto sin olvidarnos del fútbol.

Aún con este panorama en España se leen libros y también se comprarn libros por Internet. Sin embargo, las librerías virtuales líderes del mercado parecen ancladas en el pasado, concretamente 10 años atrás. Páginas arcáicas con la única funcionalidad de poder pedir libros online y poco más.

Mejor no hablar del diseño porque aquí si que no tienen perdón alguno, la contratación de un equipo de diseño web debe ser algo secundario para estas empresas. Solo hay que echarle un vistazo a Agapea o Casa del Libro para darnos cuenta que agradar al usuario no entra en sus planes.

(Continúa tras el salto)