Saltar al contenido
Menú
logo de loading
  • Inicio
  • Dominios
    • Registro dominios
    • Registro masivo
    • Traspaso dominios
  • Hosting
    • Hosting Web
    • Hosting WordPress
    • Hosting PrestaShop
    • Hosting Magento
    • Hosting Joomla
    • Hosting Correo
    • Hosting ASP
  • Resellers
  • VPS
  • Dedicados
  • Afiliados
  • Conócenos
  • Blog
logo de loading
Evitar errores con URL amigables en Prestashop y WordPress

Evitar errores con URL amigables en Prestashop y WordPress

Publicada el 24 agosto 202221 abril 2026

Los errores con URL amigables en Prestashop y WordPress suelen aparecer cuando varias instalaciones comparten dominio, subdirectorios o reglas de reescritura. El problema no siempre está en el mismo punto: a veces falla el CMS, a veces el .htaccess y otras veces la configuración del servidor.

Esto se ve mucho en escenarios como estos:

  • dominio.com en producción y dominio.com/blog para WordPress
  • dominio.com con WordPress y dominio.com/tienda con PrestaShop
  • una instalación principal y otra en dominio.com/pruebas

En todos ellos, el síntoma suele ser parecido: la portada carga, pero las URLs internas devuelven 404, se crean bucles, las redirecciones pisan otra instalación o el cambio solo funciona en Apache y no en nginx.

Aquí vamos a centrarnos en diagnosticar qué está fallando y cómo corregirlo sin mezclar soluciones que solo sirven en casos concretos.

Tabla de Contenidos:

  • Por qué fallan las URL amigables en WordPress y PrestaShop
  • Errores más comunes al usar WordPress y PrestaShop en el mismo dominio
    • Cómo detectar si el problema está en .htaccess, en el CMS o en el servidor
      • Errores habituales de URL amigables en WordPress
        • Errores habituales de URL amigables en PrestaShop
          • Apache y nginx no gestionan las URL amigables de la misma forma
            • Conclusión
            • Preguntas frecuentes sobre URL amigables en Prestashop y WordPress (FAQ)
            Oferta Contratar Hosting WordPress

            Por qué fallan las URL amigables en WordPress y PrestaShop

            Las URL amigables funcionan gracias a una capa de reescritura. El CMS recibe una URL limpia, como /blog/mi-articulo/ o /tienda/camiseta-azul.html, y la traduce a su ruta interna real.

            Cuando esa traducción falla, el error suele venir de uno de estos frentes:

            • El CMS no ha regenerado bien sus reglas
            • La ruta base no coincide con la carpeta real
            • El servidor no está aplicando la reescritura como espera el CMS
            • Otra instalación del mismo dominio está interfiriendo
            Diagnóstico de URL amigables

            Responde 3 preguntas y obtén la solución exacta

            WordPress y PrestaShop no fallan exactamente igual.

            WordPress depende mucho de los enlaces permanentes y, en Apache, del bloque correcto en .htaccess. PrestaShop genera su propio .htaccess desde el panel y además necesita que la tienda tenga bien resueltas su URL principal, su ruta física y sus redirecciones.

            La parte importante es esta: una URL amigable rota no significa automáticamente que el .htaccess esté mal. También puede haber un ajuste incorrecto dentro del CMS, una instalación movida a un subdirectorio sin terminar de ajustar o un servidor nginx intentando resolver una configuración pensada para Apache.

            ¿Por qué realmente fallan tus URLs amigables?
            1El CMS no regeneró bien sus reglas
            2La ruta base no coincide con la carpeta real
            3El servidor no aplica la reescritura como espera
            4Otra instalación está interfiriendo

            Errores más comunes al usar WordPress y PrestaShop en el mismo dominio

            El patrón se repite bastante cuando varias aplicaciones conviven dentro del mismo dominio.

            dominio.com y /blog

            Aquí suele haber una instalación principal en la raíz y WordPress en /blog.

            Los fallos típicos son estos:

            • La raíz responde bien, pero /blog/entrada/ devuelve 404
            • WordPress genera enlaces con una base incorrecta
            • El .htaccess de la raíz redirige o reescribe antes de que WordPress procese su parte
            • En nginx no existe un bloque específico para /blog/

            dominio.com y /tienda

            Este caso es muy habitual cuando la web corporativa va por un lado y la tienda por otro.

            Los errores más comunes son:

            • PrestaShop genera URLs simplificadas, pero el servidor no las resuelve
            • La tienda arranca en /tienda, pero algunas rutas intentan abrirse desde la raíz
            • Aparecen 404 en productos o categorías después de cambiar la configuración SEO
            • Una redirección global en la raíz pisa las rutas de la tienda

            Instalación principal y /pruebas

            Es el escenario más delicado porque se mezclan producción, staging y reglas heredadas.

            Aquí conviene revisar sobre todo:

            • Si la instalación de pruebas está indexando o redirigiendo como si fuera la principal
            • Si comparte reglas de reescritura que no debería
            • Si la URL base de la copia sigue apuntando al dominio principal
            • Si hay caché o redirecciones antiguas todavía activas

            En algunos montajes de Apache aparece la directiva RewriteOptions IgnoreInherit. Hay que tratarla como un caso técnico concreto, no como una receta universal. Si el problema real está en la URL base del CMS, en los enlaces permanentes o en nginx, esa línea no te va a arreglar nada por sí sola.

            dominio.com/blog
            WordPress en subdirectorio
            La raíz responde, pero /blog/entrada/ devuelve 404
            dominio.com/tienda
            PrestaShop en subdirectorio
            URLs simplificadas activadas pero productos dan 404
            dominio.com/pruebas
            Copia de pruebas
            Reglas heredadas y redirecciones al dominio principal

            Cómo detectar si el problema está en .htaccess, en el CMS o en el servidor

            Lo más útil es seguir un orden y no empezar tocando reglas a ciegas.

            1. Comprueba si falla toda la web o solo las URLs internas

            Si la portada carga y el panel de administración también, pero fallan entradas, productos o categorías, lo normal es que el problema esté en la reescritura y no en PHP ni en la base de datos.

            Si falla todo, el problema puede ser más amplio: ruta rota, dominio mal resuelto, error 500 o configuración del servidor.

            2. Revisa primero el CMS

            Antes de editar archivos, entra en el panel.

            En WordPress, vuelve a guardar los enlaces permanentes en Ajustes > Enlaces permanentes.

            En PrestaShop, revisa SEO y URLs y vuelve a regenerar el archivo .htaccess si procede. Si necesitas repasar la parte más básica, puedes echarle un vistazo a nuestro post sobre cómo activar URLs amigables en PrestaShop.

            Si con eso vuelve a funcionar, el problema estaba en el CMS o en un archivo no actualizado.

            3. Revisa el archivo .htaccess desde Plesk

            En Loading, lo lógico es empezar por el Administrador de archivos de Plesk.

            Busca estas señales:

            • Que el archivo exista en la carpeta correcta
            • Que no haya un bloque de WordPress copiado en la instalación equivocada
            • Que no existan redirecciones globales demasiado agresivas
            • Que PrestaShop no tenga mezcladas reglas manuales dentro de su bloque autogenerado

            Un bloque básico y correcto de WordPress en Apache suele verse así:

            # BEGIN WordPress
            <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteBase /
            RewriteRule ^index\.php$ - [L]
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule . /index.php [L]
            </IfModule>
            # END WordPress

            Si WordPress está en /blog, la base debe reflejarlo:

            # BEGIN WordPress
            <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteBase /blog/
            RewriteRule ^index\.php$ - [L]
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule . /blog/index.php [L]
            </IfModule>
            # END WordPress

            4. Distingue Apache de nginx

            Este punto ahorra mucho tiempo.

            Si el servidor usa Apache, .htaccess y mod_rewrite importan.

            Si el servidor usa nginx, .htaccess no se interpreta. En ese caso la lógica tiene que estar en la configuración del servidor, no en el archivo del CMS.

            Un ejemplo muy básico en nginx para una instalación en /blog sería este:

            location /blog/ {
                try_files $uri $uri/ /blog/index.php?$args;
            }

            Y para una tienda en /tienda:

            location /tienda/ {
                try_files $uri $uri/ /tienda/index.php?$args;
            }

            Si en nginx tocas .htaccess y no pasa nada, eso es normal. Ese archivo no se está usando.

            5. Si el panel no abre, revisa la URL base en phpMyAdmin

            Cuando no puedes entrar al CMS, la pista puede estar en la base de datos.

            En WordPress, revisa siteurl y home en la tabla wp_options.

            En PrestaShop, revisa domain, domain_ssl y physical_uri en ps_shop_url.

            Si estos valores apuntan a la raíz cuando la instalación vive en /blog, /tienda o /pruebas, las URL amigables van a salir mal aunque el .htaccess esté perfecto.

            1
            ¿Fallan solo las URLs internas?
            Si la portada y el panel cargan, el problema suele estar en la reescritura
            2
            Revisa primero el CMS
            WordPress: Ajustes > Enlaces permanentes. PrestaShop: SEO y URLs
            3
            Verifica .htaccess en Plesk
            Administrador de archivos: comprueba ubicación, bloques correctos y redirecciones
            4
            Distingue Apache de nginx
            Apache usa .htaccess. nginx usa reglas de servidor, no el archivo del CMS
            5
            Revisa la base de datos
            WordPress: wp_options (siteurl/home). PrestaShop: ps_shop_url (physical_uri)

            Errores habituales de URL amigables en WordPress

            WordPress suele fallar por cuatro motivos muy concretos.

            Enlaces permanentes cambiados pero reglas no aplicadas

            Es el clásico. Cambias la estructura, guardas, y las entradas devuelven 404.

            En Apache, WordPress necesita poder escribir o al menos mostrar las reglas correctas. Si tu instalación no puede actualizar el archivo automáticamente, tendrás que revisar el bloque manualmente.

            La documentación oficial de WordPress explica cómo se comportan los enlaces permanentes y qué ocurre cuando la estructura cambia. Si además estás moviendo la instalación a una carpeta propia o sirviendo la web desde raíz con WordPress en subdirectorio, también conviene revisar la guía oficial de WordPress sobre instalaciones en directorio propio.

            WordPress en subdirectorio con dirección mal configurada

            Aquí se mezclan dos campos distintos:

            • Dirección de WordPress
            • Dirección del sitio

            Si WordPress está físicamente en /blog pero alguna de esas URLs sigue apuntando a la raíz, empiezan los fallos de enlaces permanentes, las redirecciones raras y los recursos cargados desde rutas incorrectas.

            Si trabajas con un entorno optimizado de hosting WordPress, esta parte suele venir más encauzada, pero aun así hay que revisar la ruta cuando mueves instalaciones o clonas una web a /pruebas.

            .htaccess correcto para raíz, pero incorrecto para /blog

            Copiar el bloque de una instalación en raíz dentro de otra que vive en subdirectorio rompe muchas rutas.

            Por ejemplo, si WordPress vive en /blog, no deberías dejar una base como esta:

            RewriteBase /
            RewriteRule . /index.php [L]

            Lo coherente sería ajustar la base a la carpeta real:

            RewriteBase /blog/
            RewriteRule . /blog/index.php [L]

            Nginx sin try_files para la instalación concreta

            Si la portada carga pero las entradas no, y el servidor usa nginx, el error suele estar aquí.

            WordPress necesita una regla que envíe las rutas no resueltas a index.php. Si no existe, la URL amigable termina en 404 aunque la configuración del CMS sea correcta.

            Un ejemplo mínimo sería este:

            location /blog/ {
                try_files $uri $uri/ /blog/index.php?$args;
            }

            Redirecciones antiguas o pruebas mal clonadas

            Cuando copias una web a /pruebas, es fácil arrastrar:

            • Redirecciones al dominio principal
            • URLs absolutas antiguas
            • Caché de plugins o del propio servidor
            • reglas que fuerzan HTTPS, www o una ruta antigua

            Si el error aparece solo en la copia, piensa primero en configuración arrastrada, no en el CMS desde cero.

            Errores habituales en WordPress
            Enlaces permanentes cambiados pero las reglas no se aplicaron
            Dirección de WordPress vs Dirección del sitio mal configuradas
            RewriteBase correcto para raíz, incorrecto para subdirectorio
            nginx sin try_files para la instalación específica
            .htaccess
            # Correcto para WordPress en /blog RewriteBase /blog/ RewriteRule . /blog/index.php [L] # Incorrecto (apunta a raíz) RewriteBase / RewriteRule . /index.php [L]

            Errores habituales de URL amigables en PrestaShop

            En PrestaShop el patrón cambia un poco. Aquí el fallo suele estar en la regeneración del archivo, en la URL de tienda o en rutas que se pisan con otra instalación.

            URL simplificadas activadas, pero sin efecto real

            Puedes activar la opción en el panel y seguir viendo errores 404 si el servidor no aplica la reescritura o si el archivo generado no está donde toca.

            Lo correcto es empezar por el back office y no por editar a mano. Revisa SEO y URLs, guarda cambios y, si hace falta, regenera el archivo .htaccess.

            Si tu tienda está en un entorno específico de hosting PrestaShop, esta parte suele ser más previsible, pero los fallos siguen apareciendo cuando la tienda comparte dominio con otra aplicación o cuando se mueve a /tienda o /pruebas.

            Tocar a mano el bloque que PrestaShop genera automáticamente

            Aquí hay un error muy común: editar dentro del bloque que PrestaShop reconstruye.

            La propia documentación de PrestaShop recuerda que el .htaccess se genera automáticamente y que ese bloque no conviene tocarlo a mano. Puedes revisarlo en la guía oficial sobre el archivo .htaccess de PrestaShop.

            El bloque suele ir delimitado con comentarios de este tipo:

            # ~~start~~ Do not remove this comment, PrestaShop uses it to build your .htaccess file
            ...
            # ~~end~~

            Si necesitas una redirección puntual, es mejor dejarla fuera de ese bloque y probarla con cuidado.

            Por ejemplo:

            Redirect 301 /categoria-antigua.html /categoria-nueva.html

            La tienda vive en /tienda, pero la URL base sigue apuntando a la raíz

            Este error da síntomas muy claros:

            • Productos que abren mal
            • Categorías con 404
            • Imágenes o recursos que se llaman desde rutas incorrectas
            • Redirecciones que te sacan de /tienda

            Si el back office no carga, revisa ps_shop_url en phpMyAdmin y confirma que physical_uri apunta a /tienda/ o a la carpeta real que corresponda.

            Productos y categorías que cambian de URL sin redirección

            PrestaShop puede resolver bien la estructura general y aun así dejarte 404 concretos en productos, categorías o páginas CMS.

            Suele pasar cuando:

            • Cambias el slug
            • Desactivas un producto sin revisar su destino
            • Borras categorías o fichas antiguas
            • Mueves la tienda entre producción y pruebas

            Aquí no basta con que la URL amigable funcione. También necesitas que la tienda redirija correctamente y no deje rutas huérfanas.

            Conflictos entre la tienda principal y una copia en /pruebas

            Si has clonado una tienda para probar cambios, revisa esto antes de culpar a las URL simplificadas:

            • dominio y SSL en la copia
            • physical_uri
            • caché de PrestaShop
            • reglas manuales heredadas del entorno principal

            En este escenario es muy fácil que la copia intente comportarse como la tienda original.

            Errores habituales en PrestaShop
            URLs simplificadas activadas pero el servidor no las aplica
            Editar a mano el bloque que PrestaShop genera automáticamente
            physical_uri en ps_shop_url apunta a la raíz en vez de /tienda/
            Productos y categorías cambiados sin redirección 301
            .htaccess
            # ~~start~~ No editar: bloque autogenerado # Tus redirecciones van FUERA de estos comentarios # ~~end~~ # Ejemplo: redirección 301 manual Redirect 301 /categoria-antigua.html /categoria-nueva.html

            Apache y nginx no gestionan las URL amigables de la misma forma

            Este es uno de los errores de enfoque más habituales.

            En Apache sí cuentan .htaccess y mod_rewrite

            Cuando trabajas sobre Apache, WordPress y PrestaShop dependen de reglas de reescritura para convertir URLs limpias en rutas internas válidas.

            Eso significa que aquí sí tiene sentido revisar:

            • RewriteEngine On
            • RewriteBase
            • reglas de paso a index.php
            • redirecciones manuales mal colocadas

            En nginx la lógica va en el servidor

            nginx no lee .htaccess.

            Por eso, si migras una instalación que funcionaba en Apache y copias solo el CMS, puedes encontrarte con una web que carga la portada pero rompe todas las URLs internas. No faltan reglas en el CMS. Faltan reglas en nginx.

            Dónde encaja RewriteOptions IgnoreInherit

            Esta directiva merece una aclaración, porque viene del caso original del post.

            RewriteOptions IgnoreInherit no arregla cualquier conflicto entre raíz y subdirectorios. En Apache se usa para evitar la herencia de reglas cuando existe una configuración padre que está propagando reglas de reescritura a niveles inferiores, por ejemplo con InheritDown o InheritDownBefore.

            Un esquema simplificado sería este:

            # Contexto padre
            <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteOptions InheritDown
            </IfModule>
            # Contexto hijo
            <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteOptions IgnoreInherit
            </IfModule>

            ¿Cuándo tiene sentido?

            • Cuando sabes que existe herencia real de reglas
            • Cuando el conflicto está en Apache
            • Cuando la instalación hija necesita aislar su propia lógica de reescritura

            ¿Cuándo no te va a sacar del problema?

            • Si el error está en siteurl, home o ps_shop_url
            • Si el servidor es nginx
            • Si el bloque de WordPress o PrestaShop apunta a una base incorrecta
            • Si una copia en /pruebas sigue usando el dominio de producción

            Dicho de forma simple: puede ser útil en un caso concreto, pero no sustituye al diagnóstico.

            Diferencias clave
            Apache vs nginx: cómo gestionan las URL amigables
            Apache
            Lee y aplica .htaccess
            Usa mod_rewrite
            Reglas por directorio
            RewriteEngine On RewriteBase /blog/ RewriteRule . /blog/index.php [L]
            nginx
            No lee .htaccess
            Configuración en servidor
            try_files para reescritura
            location /blog/ { try_files $uri $uri/ /blog/index.php?$args; }
            Sobre RewriteOptions IgnoreInherit
            Solo tiene sentido en Apache cuando existe herencia real de reglas entre configuraciones padre e hijo. No es una solución universal para errores 404, nginx o problemas de URL base en el CMS.

            Conclusión

            Cuando WordPress y PrestaShop comparten dominio o subdirectorios, los errores de URL amigables casi nunca se resuelven bien con una única línea copiada de otro sitio.

            Lo que mejor funciona es revisar el problema por capas: CMS, ruta base, .htaccess si hay Apache, configuración del servidor si hay nginx y valores guardados en base de datos. A partir de ahí ya puedes corregir el origen real del fallo, tanto en dominio.com/blog como en dominio.com/tienda o en una copia dentro de /pruebas.

            Oferta Contratar Hosting PrestaShop

            Preguntas frecuentes sobre URL amigables en Prestashop y WordPress (FAQ)

            ¿Si guardo los enlaces permanentes en WordPress se arregla siempre?
            No. Si el problema está en nginx, en la URL base o en un archivo .htaccess mal planteado, guardar no basta.
            ¿Puedo usar el mismo archivo .htaccess para WordPress y PrestaShop?
            No es lo recomendable. Cada instalación debe tener reglas coherentes con su ruta y su CMS.
            ¿RewriteOptions IgnoreInherit sirve para cualquier error 404?
            No. Solo encaja en ciertos escenarios de Apache con herencia real de reglas.
            ¿En nginx tengo que tocar el archivo .htaccess?
            No. nginx no lo interpreta. Las reglas deben ir en la configuración del servidor.
            ¿Qué debo revisar primero si uso Plesk?
            Primero el panel del CMS. Después el Administrador de archivos de Plesk y, si hace falta, los valores de base de datos en phpMyAdmin.
            ¿Qué tabla suele dar pistas cuando una instalación en subdirectorio apunta mal?
            En WordPress, wp_options. En PrestaShop, ps_shop_url.

            Qué son los enlaces follow y no follow y por qué importan en SEO
            Cómo encontrar enlaces rotos en WordPress
            Cómo crear y configurar el sitemap en PrestaShop paso a paso

            Síguenos en:

            • Facebook
            • Instagram
            • Twitter

            Deja una respuesta Cancelar la respuesta

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

            Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

            Categorías más buscadas

            • Hosting
            • WordPress
            • Prestashop
            • Web
            • Correo
            • Dominios
            • Desarrollo
            • VPS
            • Reseller
            banner hosting starter

            Llámanos

            +34 966 343 060

            • Aviso Legal LSSI
            • Política de Privacidad
            • Política de Cookies

            LOADING

            Dominios
            Hosting
            Resellers
            VPS
            Dedicados

             

            Síguenos en:

            • Facebook
            • Instagram
            • Twitter
            ©2026 El blog de Loading | Funciona con SuperbThemes y WordPress