WPML

Si WPML ne vous permet pas de choisir les répertoires de langues (par exemple http://example.com/es/ pour l’espagnol), c’est parce qu’il a essayé d’accéder à cette URL et a rencontré une erreur. Voici ce que vous pouvez vérifier pour vous assurer que les répertoires de langues fonctionnent.


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

  1. Activez la réécriture d’URL.

  2. Autorisez WordPress à avoir un accès en lecture et en écriture aux dossiers.

  3. Assurez-vous que votre site utilise une structure de permaliens « jolie ».

Comme vous pouvez le constater, il n’est pas nécessaire de créer des répertoires physiques sur le serveur. Le choix d’avoir des langues dans des répertoires est possible grâce à la réécriture de l’URL.

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


WPML essaie d’accéder à un appel de test qui vérifie si les langues dans les répertoires fonctionneront. 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 domaine (wpml.org), nous irions à l’URL suivante dans notre navigateur :

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

Lorsque vous faites cela, vous obtenez une page d’apparence vide. Faites un clic droit sur la page et sélectionnez Afficher le code source de la page. Vous devriez voir le contenu suivant :

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

Cela indique à WPML que WordPress permet d’accéder à cette structure d’URL. Si l’appel réussit, WPML permettra d’utiliser les langues par répertoires. Sinon, vous obtiendrez un message qui explique (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 rouge, avec des explications possibles sur la raison de sa désactivation.

Important : WPML accède à l’URL de validation en y effectuant un appel fopen. Normalement, c’est similaire à ce que font les navigateurs, mais ce n’est pas identique. Assurez-vous que fopen est activé sur votre serveur. Vous pouvez ajouter ce qui suit à votre fichier de configuration PHP pour vous assurer qu’il n’est pas bloqué :

SecFilterEngine Off

Assurez-vous que WordPress active la réécriture d’URL


Afin d’activer la réécriture d’URL, WordPress crée un fichier appelé .htaccess dans le dossier où il est installé. WordPress crée ce fichier si vous utilisez autre chose que les URL par défaut. Ce fichier devrait contenir ce qui suit :
# 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 qu’il est vide, copiez ce contenu et enregistrez-le.

Que signifie pouvoir réécrire les URL ?


La réécriture d’URL est un mécanisme complexe, utilisé de manière intensive par WordPress. Pour que cela fonctionne, le serveur web (normalement, Apache) doit être capable de réécrire les URL, et WordPress doit être autorisé à gérer la logique de réécriture.

Dans Apache, mod-rewrite effectue la réécriture d’URL. C’est un module assez standard qui est activé par défaut. Si vous utilisez Apache et que vous ne pouvez pas activer les répertoires de langues, vérifiez que mod-rewrite est actif pour votre site. Si vous ne savez pas comment faire, envoyez un e-mail à votre fournisseur d’hébergement. Vous pouvez utiliser ceci :

Bonjour,

Une extension WordPress que je souhaite utiliser nécessite l’activation du module mod-rewrite. Pouvez-vous vérifier pour moi et me dire si mod-rewrite est activé pour mon site ? http://example.com


En supposant qu’il soit activé, WordPress doit maintenant pouvoir contrôler les règles d’écriture d’URL. Pour que cela se produise, WordPress doit pouvoir écrire dans le dossier dans lequel il est installé.

Assurez-vous que WordPress a un accès en lecture et en écriture aux dossiers


Là encore, si vous utilisez Apache, découvrez sous quel utilisateur Apache s’exécute et accordez à cet utilisateur l’accès en lecture et en écriture au dossier où WordPress est installé. Vous pouvez le faire à l’aide de votre programme FTP, via le shell ou par e-mail.
Rebonjour,

J’ai besoin d’un autre service. J’ai installé WordPress dans ce répertoire :

VOTRE_RÉPERTOIRE_D_INSTALLATION_WP

Pouvez-vous modifier les autorisations de fichiers pour l’ensemble du répertoire (de manière récursive), afin que le serveur web puisse y lire et y écrire ? J’ai besoin que WordPress puisse écrire dans certains fichiers.


Maintenant, vérifiez à nouveau.
Votre site doit utiliser une structure de permaliens « jolie ». Vous pouvez modifier la structure des permaliens de votre site dans vos paramètres WordPress.

Dépannage


Si vous utilisez un CDN, tel que Cloudflare, il se peut qu’il empêche les langues dans les répertoires de fonctionner correctement en supprimant les commentaires HTML. Par conséquent, vous pouvez voir une erreur faussement positive, qui affiche un avertissement lié à ?____icl_validate_domain=1 sans aucun problème sur l’interface publique.

Besoin d’aide ?


Si cela ne fonctionne toujours pas, veuillez poser une question à l’assistance de WPML.

Écrit par Amir · Dernière mise à jour 18 octobre 2024