Inicio›Soporte›Soporte en español›[Resuelto] formato url del idioma -usar directorio para idioma predeterminado - página raiz
[Resuelto] formato url del idioma -usar directorio para idioma predeterminado - página raiz
Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.
Problema: El cliente intenta configurar el formato de URL del idioma usando un directorio para el idioma predeterminado y enfrenta problemas con mensajes de redirección en su página raíz, a pesar de haber desactivado la opción de redirección. La página raíz es una plantilla PHP que contiene una redirección. Solución: Primero, asegúrese de que el archivo .htaccess solo contenga el código por defecto de WordPress. Si el problema persiste, podría ser un conflicto con un plugin de terceros. Para identificar el conflicto: 1. Cree una copia de seguridad completa del sitio. 2. Borre cualquier caché existente. 3. Actualice temas y plugins desactualizados. 4. Desactive todos los plugins y active un tema por defecto de WordPress. 5. Añada el archivo PHP necesario para la redirección como se describe en nuestra documentación: https://wpml.org/documentation/getting-started-guide/language-setup/directory-default-language/#redirect-the-root-domain-to-the-default-language-directory 6. Active los plugins de WPML y luego, uno por uno, el resto de los plugins y el tema hasta identificar el causante del problema.
Si el problema parece estar relacionado con el plugin Site Kit by Google, intente reproducir el problema en un sitio nuevo para determinar si es un problema de compatibilidad.
Si esta solución no resuelve su problema o parece desactualizada, le recomendamos abrir un nuevo ticket de soporte. También es aconsejable revisar los problemas conocidos en https://wpml.org/known-issues/ y confirmar que tiene instaladas las últimas versiones de temas y plugins.
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.
Antecedentes del problema:
Estoy intentando configurar el formato de URL del idioma usando un directorio para el idioma predeterminado en mi página raíz. Aparece un mensaje al final de mi web relacionado con redirecciones en el archivo .htaccess. He desactivado la opción de redirección, pero el problema persiste. Mi página raíz es una plantilla en PHP que contiene una redirección. URL del problema: enlace oculto
Síntomas:
Aparece un mensaje al final de mi web: # EMAIL AND SOCIAL MEDIA SHORTURL .HTACCESS REDIRECT CODE Options +FollowSymlinks RewriteEngine on #BEGIN URL REDIRECT CODE #SOCIAL MEDIA SHORTURL RewriteRule ^goto/(.*)$ enlace oculto [R=301,QSA,L] #EMAIL SHORTURL RewriteRule ^r/(.*)$ enlace oculto [R=301,QSA,L] #SMS SHORTURL RewriteRule ^s/(.*)$ enlace oculto [R=301,QSA,L] RewriteRule ^t/(.*)$ enlace oculto [R=301,QSA,L] #END URL REDIRECT CODE. Esperaba ver la web sin ese mensaje abajo.
Preguntas:
¿Por qué sigue apareciendo el mensaje de redirección en mi web después de desactivar la opción de redirección?
¿Cómo puedo eliminar el mensaje de redirección de mi página raíz?
no sé por qué sigue apareciendo la opción "home.html". Ese archivo ya lo borré en la web. Estaba en la papelera, lo he borrado definitivamente. Yo quiero usar Root-redirect.php
Por favor realice estos pasos:
- Edite el archivo .htaccess que se encuentra en la raíz del sitio
- Deje solo el código por defecto de WordPress:
# BEGIN WordPress
# Las directivas (líneas) entre "BEGIN WordPress" y "END WordPress" son
# generadas dinámicamente y solo deberían ser modificadas mediante filtros de WordPress.
# Cualquier cambio en las directivas que hay entre esos marcadores serán sobrescritas.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^en/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^de/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^it/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^es/wp-login.php /wp-login.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
- Guarde los cambios
- Compruebe si el problema desapareció.
Si el problema persiste entonces es posible que se trate de un conflicto con una funcionalidad de terceros. Para encontrar la causa debe seguir estos pasos:
- Cree una copia de seguridad del sitio completo
- Borre cualquier memoria cache que pueda existir
- Actualice los temas y el plugin que aparecen desactualizados en este enlace: enlace oculto
- Desactive todos los plugins
- Active un tema por defecto de WordPress, por ejemplo: Twenty Twenty
- En el tema activo añada el archivo PHP tal y como se describe en esta sección: https://wpml.org/documentation/getting-started-guide/language-setup/directory-default-language/#redirect-the-root-domain-to-the-default-language-directory
- Active los plugins de WPML
- Si el problema desapareció, comience activando el tema y luego los plugins, uno por uno, hasta que el problema vuelva a aparecer y encuentre al culpable.
Puede decirme el resultado de los pasos anteriores?
Actualmente el documento .htaccess de markeando.com pone todo esto:
(lo borro y lo sustituyo por el código que me has dado? Gracias)
# BEGIN LSCACHE
# END LSCACHE
# BEGIN NON_LSCACHE
# END NON_LSCACHE
# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
<Files wp-config.php>
<IfModule !mod_authz_core.c>
order allow,deny
deny from all
</IfModule>
<IfModule mod_authz_core.c>
require all denied
</IfModule>
</Files>
# BEGIN WordPress
# Las directivas (líneas) entre «BEGIN WordPress» y «END WordPress» son
# generadas dinámicamente y solo deberían ser modificadas mediante filtros de WordPress.
# Cualquier cambio en las directivas que hay entre esos marcadores serán sobrescritas.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^en/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^de/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^it/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^es/wp-login.php /wp-login.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Hola, siguiendo tus instrucciones, he comprobado que el problema lo estaba generando Site Kit by Google.
Entonces, he desactivado ese plugin.
Con el objetivo de buscar una alternativa a Site kite by Google, he instalado el código de Google Tag Manager en header.php.
Entonces ha aparecido de nuevo el mismo problema que con Google Site Kit.
Incluso cuando he pausado la conexión a mi web desde Google Tag Manager el problema persistía. Solo se ha solucionado cuando he borrado el script en header.php.
Por el momento he vuelto a instalar Google Site Kit para poder seguir midiendo los datos de mi web y poder realizar otras acciones de marketing básicas para mi web.
Si se trata de un problema entre Site Kit by Google y WPML entonces es necesario reproducir el problema en un sitio nuevo, para determinar si el problema es de compatibilidad o solamente sucede en su sitio.
Es por ello que he creado un sitio Sandbox con una nueva instalación de WordPress + WPML al que puede acceder a través de este enlace: enlace oculto
Le pido que instale Site Kit by Google y compruebe si el problema persiste.