- Statut
- Résolu
Aperçu de l’anomalie
Lorsque vous modifiez le format d’URL une fois vos articles publiés et traduits, vous pourriez rencontrer un problème de redirection des URL si vous les saisissez directement dans la barre d’adresse du navigateur.
Par exemple :
- Vous utilisez Langues différentes dans les répertoires avec WPML et votre site a une URL de page telle que http://mysite.com/es/pagina-de-muestra/
- Remplacez maintenant votre format d’URL par Un domaine différent par langue, l’URL ci-dessus est désormais http://misitio.es/pagina-de-muestra/
- Ouvrez directement http://mysite.com/es/pagina-de-muestra/
Le résultat est un message 404 du serveur.
* Remarque – L’extension WPML Liens collants évite une situation similaire mais pas identique – mais dans ce cas, puisque vous utilisez directement l’URL, elle ne vous sera d’aucune aide.
Solution de contournement
Il ne s’agit pas d’un bug, mais il existe un moyen personnalisé de le résoudre en modifiant le fichier .htaccess du site. Nous ne pouvons pas vous aider sur ce point, car cela dépend de vos paramètres et qu’il s’agit d’un travail personnalisé avancé, mais nous pouvons vous fournir un exemple.
Pour le scénario précédent, vous devez placer un code similaire juste au-dessus des règles de WordPress. Tout en haut de .htaccess suffira :
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^es(.*)$ http://misitio.es$1 [L,R=301]
Toutes les requêtes vers http://mysite.com/es/pagina-de-muestra/ aboutiront désormais à http://misitio.es/pagina-de-muestra/.
Veuillez garder à l’esprit que :
- Cela ne fonctionne que sur Apache avec mod-rewrite activé
- Il existe de nombreuses ressources à ce sujet, par exemple, ce blog.
Pour l’instant, il est important de savoir que le comportement attendu lorsque vous modifiez le format d’URL est que si vous essayez d’accéder directement à l’ancien domaine (via la barre d’adresse), vous obtiendrez une redirection 301 vers la langue par défaut principale