Saltar al contenido Saltar a la barra lateral

Este es el foro de soporte técnico de WPML, el plugin multilingüe de WordPress.

Todas las personas pueden leerlo pero solo los clientes de WPML pueden ingresar comentarios. El equipo de WPML responde en los foros 6 días a la semana, 22 horas por día.

Este tema contiene 1 respuesta, tiene 0 voces.

Última actualización por franciscoN-9 hace 1 semana, 6 días.

Asistido por: Otto.

Autor Publicaciones
diciembre 4, 2025 a las 4:27 pm #17635369

franciscoN-9

Hola equipo de soporte,

Estoy experimentando un problema crítico en mi sitio de producción (WooCommerce + WPML) que está causando caídas recurrentes del servidor (Error 500) debido a una reescritura incorrecta del archivo .htaccess.

El Problema: WPML está forzando la reescritura de las reglas de WordPress basándose en el idioma activo en ese momento (ya sea en el admin o por procesos de fondo), en lugar de usar la raíz del sitio.

El archivo .htaccess cambia automáticamente de la configuración correcta a una incorrecta:

Configuración Correcta:

RewriteEngine On
RewriteBase /
RewriteRule . /index.php [L]

Configuración corrupta:

RewriteEngine On
RewriteBase /de/ <-- (O /fr/, /pt-pt/, dependiendo del idioma)
RewriteRule . /de/index.php [L]

Esto provoca un Error 500 inmediato ya que la instalación no está en un subdirectorio.

Diagnóstico realizado:

Aislamiento del problema: He confirmado al 100% que el causante es WPML. Si desactivo WPML, el .htaccess se mantiene estable. Al reactivarlo y navegar por el dashboard en otro idioma o guardar enlaces permanentes, el archivo se rompe.

Configuración de wp-config.php: He verificado que NO tengo definido RELOCATE en true. Las constantes WP_HOME y WP_SITEURL están definidas fijas apuntando a la raíz (enlace oculto).

Intentos de bloqueo: He intentado usar el filtro add_filter('writable_htaccess_file', '__return_false'); en functions.php, pero el archivo sigue siendo modificado, lo que sugiere que la regeneración de reglas de WPML está ocurriendo en un nivel que omite o precede a este filtro en ciertos contextos.

Entorno:

Hosting: SiteGround (Apache/Nginx).

Caching: Memcached y Dynamic Cache.

Estructura de URL: Distintos idiomas en directorios (/es/, /en/, etc.).

"Redirección según el idioma del navegador" estaba activada (la he desactivado por precaución, pero el problema persiste al regenerar permalinks).

Solicitud: Necesito un parche o un snippet de código (filtro) para forzar que, independientemente del idioma actual de WPML, la regla mod_rewrite siempre se genere con RewriteBase / y no con el subdirectorio del idioma.

Quedo a la espera de su pronta respuesta, ya que esto está afectando a la estabilidad de la tienda en vivo.

Gracias.

diciembre 4, 2025 a las 4:33 pm #17635404

Otto
Partidario de WPML desde 09/2015

Idiomas: Inglés (English ) Español (Español )

Zona horaria: America/Argentina/Buenos_Aires (GMT-03:00)

Hola,

Si bien al desactivar WPML el problema no ocurre, es un problema de compatibilidad.

Por favor, échale un vistazo a esta documentación:
https://wpml.org/es/faq/why-is-htaccess-getting-overwritten-with-the-language-folder-on-my-wpml-website/

❌ Por favor, antes que nada: haz un backup de tu sitio ❌

Quedo atento a tus resultados.

Saludos cordiales,
Otto

diciembre 4, 2025 a las 6:21 pm #17635877

franciscoN-9

Hola Otto, muchísimas gracias por tu comentario, me ha sido de gran utilidad.

He utilizado el código del enlace y mi problema se ha resuelto.

Un saludo