WPML

Si WPML no le permite elegir directorios de idiomas (por ejemplo, http://example.com/es/ para el español), es porque intentó acceder a esa URL y obtuvo un error. A continuación, le indicamos lo que puede comprobar para asegurarse de que los directorios de idiomas funcionen.


Esto es lo que necesita configurar para que los directorios de idiomas funcionen:

  1. Habilitar la reescritura de URL.

  2. Permitir que WordPress tenga acceso de lectura y escritura a las carpetas.

  3. Asegurarse de que su sitio utilice una estructura de enlaces permanentes «bonita».

Como puede ver, no es necesario crear directorios físicos en el servidor. La opción de tener idiomas en directorios es posible mediante la reescritura de la URL.

Cómo determina WPML si puede activar los idiomas en directorios


WPML intenta acceder a una llamada de prueba que comprueba si los idiomas en directorios funcionarán. Esta llamada de prueba es:
yourdomain/LANGUAGE/?____icl_validate_domain=1

Por ejemplo, para comprobar si el español está activado en nuestro propio dominio (wpml.org), iríamos a la siguiente URL en nuestro navegador:

http://wpml.org/es/?____icl_validate_domain=1

Al hacer esto, obtendrá una página que parece estar en blanco. Haga clic derecho en la página y seleccione Ver código fuente de la página. Debería ver el siguiente contenido:

<!--http://wpml.org-->

Esto le indica a WPML que WordPress permite acceder a esta estructura de URL. Si la llamada se realiza correctamente, WPML permitirá usar idiomas por directorios. De lo contrario, recibirá un mensaje que explica (más o menos) cuál es el problema.

Si WPML ve una página de error, deshabilita esta función y muestra ese mensaje de error rojo, con posibles explicaciones de por qué está deshabilitada.

Importante: WPML accede a la URL de validación realizando una llamada fopen a la misma. Normalmente, es similar a lo que hacen los navegadores, pero no es lo mismo. Asegúrese de que fopen esté activado en su servidor. Puede añadir lo siguiente a su archivo de configuración de PHP para asegurarse de que no esté bloqueado:

SecFilterEngine Off

Asegúrese de que WordPress habilite la reescritura de URL


Para habilitar la reescritura de URL, WordPress crea un archivo llamado .htaccess en la carpeta donde está instalado. WordPress crea este archivo si utiliza cualquier otra cosa que no sean las URL predeterminadas. Ese archivo debe contener lo siguiente:
# BEGIN WordPress

<IfModule mod_rewrite.c>

  RewriteEngine On

  RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule . /index.php [L]

</IfModule>

# END WordPress

Si no existe, intente crearlo. Si existe pero está vacío, copie este contenido y guárdelo.

¿Qué significa poder reescribir las URL?


La reescritura de URL es un mecanismo complejo, utilizado de forma intensiva por WordPress. Para que esto funcione, el servidor web (normalmente, Apache) debe poder reescribir las URL, y se le debe permitir a WordPress gestionar la lógica de reescritura.

En Apache, mod-rewrite realiza la reescritura de URL. Es un módulo bastante estándar que está activado de forma predeterminada. Si utiliza Apache y no puede activar los directorios de idiomas, compruebe que mod-rewrite esté activo para su sitio. Si no está seguro de cómo hacerlo, envíe un correo electrónico a su proveedor de alojamiento. Puede usar este texto:

¡Hola!

Un plugin de WordPress que quiero usar requiere que el módulo mod-rewrite esté activado. ¿Podría comprobarlo y decirme si mod-rewrite está activado para mi sitio web? http://example.com


Suponiendo que esté activado, WordPress ahora necesita poder controlar las reglas de escritura de URL. Para que esto ocurra, WordPress debe poder escribir en la carpeta en la que está instalado.

Asegúrese de que WordPress tenga acceso de lectura y escritura a las carpetas


De nuevo, si utiliza Apache, averigüe con qué usuario se ejecuta Apache y permita a ese usuario el acceso de lectura y escritura a la carpeta donde está instalado WordPress. Puede hacerlo usando su programa FTP, a través del shell o por correo electrónico.
Hola de nuevo,

Necesito otro favor. He instalado WordPress en este directorio:

SU_DIRECTORIO_DE_INSTALACIÓN_DE_WP

¿Puede cambiar los permisos de archivo para todo el directorio (de forma recursiva), de modo que el servidor web pueda leer y escribir en él? Necesito que WordPress pueda escribir en algunos de los archivos.


Ahora, compruebe de nuevo.
Su sitio necesita utilizar una estructura de enlaces permanentes «bonita». Puede cambiar la estructura de enlaces permanentes de su sitio en la configuración de WordPress.

Solución de problemas


Si utiliza una CDN, como Cloudflare, es posible que bloquee el funcionamiento correcto de los idiomas en directorios al eliminar los comentarios HTML. Como resultado, puede ver un error de falso positivo, que muestra una advertencia relacionada con ?____icl_validate_domain=1 sin ningún problema en el front-end.

¿Necesita ayuda?


Si esto sigue sin funcionar, haga una consulta en el soporte de WPML.

Escrito por Amir · Última actualización 18 de octubre de 2024