Cómo Solucionar el Error de Excepción URL Rewrites en Magento 2 de Forma Definitiva

Cómo Solucionar el Error de Excepción URL Rewrites en Magento 2 de Forma Definitiva
Anuncio relacionado

Introducción al Error de URL Rewrites en Magento 2

Uno de los problemas más frustrantes a los que se enfrentan los desarrolladores y administradores de tiendas e-commerce en Magento 2 es el error relacionado con las excepciones en la tabla url_rewrite. Este fallo suele manifestarse al intentar guardar productos, categorías o al regenerar las URL mediante comandos de consola, bloqueando por completo la gestión del catálogo o generando errores 404 masivos en el frontend.

Causas Principales de la Excepción en URL Rewrites

El núcleo de este problema radica en la duplicidad de registros en la base de datos dentro de la tabla url_rewrite. Las causas más comunes incluyen:

  • Intentar asignar un slug o ruta de URL que ya existe en la base de datos para otra entidad (producto, categoría o página CMS).
  • Interrupciones durante la indexación previa ejecutada mediante la CLI de Magento.
  • Migraciones de datos mal ejecutadas desde plataformas de e-commerce anteriores.
  • Conflictos generados por módulos de terceros que manipulan las rutas de las URLs automáticamente.

Método 1: Limpiar la Tabla url_rewrite y Regenerar Índices

La forma más directa de solucionar este conflicto en entornos de desarrollo o producción (previa copia de seguridad) es vaciar la tabla afectada y reconstruir los datos utilizando el comando CLI de Magento.

  1. Accede a tu servidor mediante SSH y navega hasta el directorio raíz de tu instalación de Magento.
  2. Entra a la base de datos usando tu cliente MySQL preferido y ejecuta la siguiente consulta para limpiar la tabla de reescrituras: TRUNCATE TABLE url_rewrite;
  3. Regresa a la terminal y ejecuta el indexador específico de Magento para reconstruir las URLs limpias: bin/magento indexer:reindex catalog_url
  4. Finalmente, limpia la caché del sistema para asegurar que los cambios se reflejen de inmediato: bin/magento cache:clean

Método 2: Identificar y Eliminar Duplicados Manualmente

Si no deseas vaciar por completo la tabla url_rewrite debido a URLs personalizadas críticas para tu posicionamiento SEO, puedes localizar y eliminar únicamente los registros duplicados que generan la excepción.

  1. Ejecuta la siguiente consulta SQL en tu base de datos para detectar qué solicitudes de URL están colisionando: SELECT request_path, COUNT(*) c FROM url_rewrite GROUP BY request_path HAVING c > 1;
  2. Identifica los identificadores de tienda y los ID de entidad (entity_id) que provocan la duplicidad.
  3. Elimina los registros obsoletos o mal generados utilizando una sentencia condicional de borrado en SQL: DELETE FROM url_rewrite WHERE url_rewrite_id = [ID_DUPLICADO];
  4. Vuelve a ejecutar la indexación general del sistema para validar que la excepción haya desaparecido: bin/magento indexer:reindex
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Apps

Cómo Solucionar el Error ERR_CACHE_MISS en Google Chrome de Forma Definitiva

El error ERR_CACHE_MISS en Google Chrome impide cargar páginas web correctamente debido a fallos en la caché. Aprende a solucionarlo de forma definitiva.

Leer guía completa →
Windows

Cómo Solucionar el Error DNS_PROBE_FINISHED_NXDOMAIN en Windows de Forma Definitiva

¿Tu navegador muestra que el sitio no puede alcanzarse? Descubre cómo solucionar el error DNS_PROBE_FINISHED_NXDOMAIN en Windows con métodos efectivos.

Leer guía completa →
Desarrollo

Cómo Solucionar el Error CORS (Cross-Origin Resource Sharing) en JavaScript y Node.js Definitivamente

Soluciona el bloqueo por políticas de origen cruzado en tus peticiones fetch y axios. Guía paso a paso con configuración en Node.js.

Leer guía completa →