Hola, estoy terminando la traducción de mi web al francés utilizando WPML. La traducción está completa y el idioma francés funciona correctamente dentro de WordPress y también cuando accedo mediante parámetro: https://orycs.com?lang=fr
Sin embargo, cuando intento acceder al francés mediante directorio, que es el modo normal de WPML y el que quiero ( https://orycs.com/fr/) la web falla y da 500 Internal Server Error.
Cada vez que WordPress regenera las reglas de enlaces permanentes, el archivo .htaccess vuelve a incluir automáticamente estas dos líneas:
Código:
RewriteRule ^fr/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^es/wp-login.php /wp-login.php [QSA,L]
Estas reglas:
No provienen de WPML
No provienen de WordPress
No provienen de ningún plugin activo o desactivado
No están en ningún archivo dentro de public_html
Vuelven incluso si borro el .htaccess y lo regenero
Vuelven incluso con un .htaccess limpio
No desaparecen aunque añada filtros en functions.php para eliminarlas
Es decir: no vienen de WordPress.
¿Cómo puedo solucionarlo?
Gracias, un saludo
Contenido solo visible a usuarios registrados
Hola Damià
Lo estoy probando y veo que carga bien:
El error que comentas es frecuente con WPML, este plugin añade reglas de reescritura para redirigir accesos.
Este error puede venir del propio WPML o algún plugin que entre en conflicto.
Antes de ponernos a mirar más, prueba lo siguiente:
.- Actualiza todo lo que tienes pendiente, plugins y plantillas
.- Accede a Fragmentos de código - Añadir nuevo
.-Añade un título para tenerlo identificado y añade lo siguiente:
add_filter('mod_rewrite_rules', 'fix_wpml_rewrite_rules');
function fix_wpml_rewrite_rules($rules) {
$home_root = parse_url(home_url());
$home_root = isset($home_root['path']) ? trailingslashit($home_root['path']) : '/';
$wpml_root = parse_url(site_url());
$wpml_root = isset($wpml_root['path']) ? trailingslashit($wpml_root['path']) : '/';
$rules = str_replace($home_root, $wpml_root, $rules);
return $rules;
}
Regenera los enlaces permanentes y lo revisas.
Un saludo