Si WPML ne vous laisse pas choisir les répertoires de langues (par ex. http://exemple.com/es/ pour l’espagnol), c’est parce qu’il a tenté d’accéder à cette URL mais une erreur est survenue.

Voici ce que vous devez configurer pour que les répertoires linguistiques fonctionnent :

  1. Activer la réécriture d’URL (nous y reviendrons dans un instant).

Comme vous pouvez le constater, il est inutile de créer des répertoires physiques sur le serveur. Pour activer les langues du répertoire, il faut passer par la réécriture d’url.

Comment WPML détermine s’il peut activer des langues dans les répertoires

WPML tente d’accéder à un appel de test qui vérifie si les langues des répertoires fonctionnent. Cet appel de test est le suivant :

yourdomain/LANGUAGE/?____icl_validate_domain=1

Par exemple, pour vérifier si l’espagnol est activé pour notre propre nom de domaine (wpml.org), nous ferions l’appel suivant :

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

Lorsque vous faites cet appel, vous obtiendrez une page blanche. Son contenu (que vous pouvez voir en regardant à la source de la page) est :

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

Ceci indique à WPML que WordPress permet d’accéder à cette structure d’URL. Si l’appel réussit, WPML permettra l’utilisation des langues par répertoires. Dans le cas contraire, vous obtiendrez une sorte de message qui expliquera (plus ou moins) quel est le problème.

Si WPML voit une page d’erreur, il désactive cette fonctionnalité et affiche ce message d’erreur en rouge, avec des explications possibles renseignant pourquoi il est désactivé.

Important : WPML accède à l’URL de validation en lui passant un appel fopen. Généralement, ceci est semblable à ce que font les navigateurs, sans pour autant être exactement similaire. Assurez-vous que la fonction fopen est activée sur votre serveur. Vous pouvez ajouter la ligne suivante à votre fichier de configuration de PHP afin de vous assurer qu’il n’est pas bloqué :

SecFilterEngine Off

S’assurer que WordPress permette la réécriture d’URL

Afin d’activer la réécriture d’URL, WordPress créera un fichier nommé .htaccess dans le dossier où il est installé. WordPress créera ce fichier si vous utilisez autre chose que les URL par défaut. Ce fichier doit contenir les éléments suivants :

# BEGIN WordPress

<IfModule mod_rewrite.c>

  RewriteEngine On

  RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule . /index.php [L]

</IfModule>

# END WordPress

S’il n’existe pas, essayez de le créer. S’il existe mais est vide, copiez ces contenus et enregistrez-les.

Que signifie être capable de réécrire les URL ?

La réécriture d’URL est un mécanisme complexe, utilisé intensivement par WordPress. Pour que cela fonctionne, le serveur Web (généralement Apache) doit être en mesure de réécrire les URL, et WordPress doit être autorisé à gérer la logique de réécriture.

Dans Apache, mod-rewrite procède à la réécriture d’URL. C’est un module assez standard qui est activé par défaut. Si vous utilisez Apache et ne pouvez activer les répertoires de langue, vérifiez que mod-rewrite est activé pour votre site. Si vous n’êtes pas sûr de savoir comment faire, envoyez un e-mail à votre hébergeur. Vous pouvez utiliser ceci :

Salut !

J’aimerais utiliser un plug-in de WordPress qui requiert que le module mod-rewrite soit activé. Pourriez-vous s’il vous plaît vérifier pour moi et me dire si mod-rewrite est activé pour mon site Web ? http://exemple.com

En supposant que ce dernier soit activé, WordPress doit maintenant être en mesure de commander les règles d’écriture d’URL. Pour ce faire, WordPress doit être capable d’écrire dans le dossier dans lequel il est installé.

Encore une fois, si vous utilisez Apache, sachez sous quel utilisateur Apache s’exécute et autorisez cet utilisateur à lire et à écrire dans le dossier où est installé WordPress. Vous pouvez le faire en utilisant votre programme FTP, via l’interface de commandes ou par e-mail :

Bonjour à tous,

J’ai besoin d’une autre faveur. J’ai installé WordPress dans ce répertoire :

VOTRE_RÉPERTOIRE_WP_INSTALL

Pouvez-vous changer les permissions de fichiers pour tout le répertoire (de manière récursive), de sorte que le serveur Web puisse à la fois y lire et y écrire ? J’ai besoin que WordPress soit en mesure d’écrire dans certains fichiers.

Maintenant, vous pouvez réessayer.

Si cela ne fonctionne toujours pas, n’hésitez pas à passer par le forum et à ouvrir un nouvel incident.

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