Sauter la navigation

Ce sujet est résolu. Voici une description du problème et de la solution.

Problème :
Après la migration du site, l'activation du nom de la langue dans l'URL (ex: /en/) modifie le fichier .htaccess, causant des erreurs lors du changement de langue.
Solution :
1. Vérifiez si des plugins modifient le .htaccess en ajoutant des dossiers de langue, ce qui peut causer des problèmes. Plus d'informations ici : https://wpml.org/fr/faq/why-is-htaccess-getting-overwritten-with-the-language-folder-on-my-wpml-website/
2. Assurez-vous qu'il n'y a pas de dossier physique pour /en, car cela peut également être une source de problèmes.
3. Augmentez la valeur de WP_MEMORY_LIMIT à au moins 256M pour améliorer la performance. Suivez cette documentation pour savoir comment faire : https://wpml.org/faq/checklist-before-opening-a-ticket-in-wpml-support/#how-to-increase-your-sites-memory-limit
4. Si le problème persiste, nous vous recommandons de nous fournir un accès temporaire à votre wp-admin et FTP pour un débogage plus approfondi.

Cette solution pourrait ne plus être pertinente en raison de mises à jour ultérieures ou de différences dans votre configuration spécifique. Si ces étapes ne résolvent pas votre problème, veuillez vérifier les problèmes connus sur https://wpml.org/known-issues/, confirmer que vous avez installé les dernières versions des thèmes et plugins, et si nécessaire, ouvrez un nouveau ticket de support sur le forum de support WPML.

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Ce sujet contient 2 réponses, a 0 voix.

Dernière mise à jour par abyxoA Il y a 2 mois.

Assisté par: Ilyes.

Auteur Articles
février 28, 2025 à 3:49 pm #16761886

abyxoA

Contexte de la question:
Après la migration de notre site vers hyraw-staging2025.com, j'essaie d'activer le nom de la langue directement dans l'URL (ex: hyraw-staging2025.com/en/). Voici le lien vers la page où le problème peut être vu: lien caché.

Symptômes:
Le plugin WPML cause des problèmes lorsque j'active le nom de la langue directement dans l'URL. Le bug est généré par le fichier .htaccess qui se modifie à la volée lorsqu'on change de langue sur le site. Si je passe en anglais, cela casse les règles du fichier .htaccess.

Questions:
Pourquoi le fichier .htaccess se modifie-t-il à la volée lors du changement de langue?
Comment résoudre le problème de changement de langue causé par WPML après la migration?

mars 3, 2025 à 5:27 pm #16770244

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-06:00)

Bonjour,

Merci d'avoir contacté l'équipe de support WPML,

Je n'ai pas pu voir le problème car l'option « Use directory for default language » est activée pour le moment, mais il y a plusieurs explications possibles à ce comportement :

1- Vérifiez si vous avez des plugins qui ajoutent ce qui suit à votre htaccess : https://wpml.org/fr/faq/why-is-htaccess-getting-overwritten-with-the-language-folder-on-my-wpml-website/

2- Vérifiez si vous avez un dossier physique pour /en, car c'est aussi un problème possible, vous ne devriez pas avoir un tel dossier.

3- Voici des tickets similaires qui pourraient vous aider :
- https://wpml.org/forums/topic/404-error-when-languages-in-directories-set/

4- Je vous recommande d'augmenter la valeur de WP_MEMORY_LIMIT à au moins 256M (Vous avez actuellement 40M).
Veuillez suivre cette documentation pour apprendre comment l'augmenter :
https://wpml.org/faq/checklist-before-opening-a-ticket-in-wpml-support/#how-to-increase-your-sites-memory-limit

J'espère que cela vous a aidé,

mars 5, 2025 à 11:54 am #16778320

abyxoA

Bonjour,

Merci pour le retour. J'avais essayé la solution numéro 1 mais cela cassait le site, je n'ai pas eu le temps d'approfondir pourquoi.
Pour le reste cela n'a rien donné malheureusement.

mars 5, 2025 à 5:30 pm #16780107

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-06:00)

Bonjour,

J'aimerais vous demander un accès temporaire au wp-admin et au FTP de votre site de test, ce qui me permettra de trouver ces informations pour vous,

Merci de me fournir les étapes à suivre pour reproduire le problème.

Il est important de noter que vous devez sauvegarder votre site et votre base de données avant de procéder, et vous pouvez utiliser un plugin comme Duplicator à cette fin. Voici un lien vers ce plugin : http://wordpress.org/plugins/duplicator/

Si vous ne voyez pas le formulaire ci-dessous, n'entrez pas vos informations d'identification, car elles seront exposées publiquement :

lien caché

Pour des raisons de confidentialité et de sécurité, veillez à ce que votre réponse soit privée.

mars 6, 2025 à 5:28 pm #16784855

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-06:00)

Je suis en train de télécharger une nouvelle copie de votre site localement afin de pouvoir déboguer librement ce problème.

Je reviendrai bientôt avec plus de détails,

Cordialement,

mars 6, 2025 à 7:10 pm #16785133

abyxoA

Ok merci beaucoup. Par la même occasion j'ai ces chaines qui n'arrivent pas à se scanner jusqu'au bout et donc se mettre totalement à jour. J'ai essayé plusieurs choses mais je n'ai pas réussi à résoudre le problème.

Merci

image_2025_03_06T19_09_35_831Z.png
mars 10, 2025 à 12:04 pm #16796259

abyxoA

Bonjour, tenez-moi informé svp si vous obtenez un résultat. Merci et bonne journée

mars 10, 2025 à 3:28 pm #16797370

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-06:00)

Je transmets ce problème à notre deuxième niveau car il nécessite un débogage plus avancé pour ce comportement,

Merci pour votre patience,

mars 10, 2025 à 5:01 pm #16797750

abyxoA

Ok merci beaucoup. Les 2 problèmes ont été transmis ou seulement le pb d'htaccess ?
Sinon on peut résoudre le second ici ?

mars 11, 2025 à 12:57 am #16798896

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-06:00)

Pour les chaînes que vous essayez de charger,

Je vois des erreurs dans la console liées à admin-ajax.php 404 (Not Found),

Cela peut aller d'un problème de conflit à une mauvaise configuration du serveur, il y a de nombreuses causes possibles.

Cela pourrait même être lié à certaines des chaînes qui ne sont pas compatibles ou à des erreurs provenant du thème,

Il pourrait y avoir une autre méthode pour charger de nouvelles chaînes, pourriez-vous aller sur WPML > String translation > En bas, cochez la case « Look for strings while pages are rendered » et ensuite visitez la page où la chaîne est affichée.

Revenez ensuite à la traduction des chaînes et vérifiez si une autre instance de cette chaîne est chargée.

Si ce n'est pas le cas, allez dans « Traduire les textes dans les écrans d'administration », et recherchez-la.

Vous pouvez en savoir plus sur ce problème ici : https://wpml.org/faq/why-arent-my-translated-strings-showing-up-on-the-front-end-of-my-site/

Enfin, la mise à jour de WPML vers la version 4.7.1 et de String translation vers la version 3.3.1 pourrait également vous aider,

Cordialement,

mars 12, 2025 à 3:13 pm #16807978

abyxoA

Merci, je n'ai pas encore pu me pencher sur ce problème, mais ce n'est pas urgent. Par contre l'autre problème de langue dans le htaccess nous empêche de mettre le site en production et de régler de nombreux problèmes qui y sont liés. Nous aimerions pouvoir régler ça asap.
Avez-vous des pistes de recherche ? est-ce que je peux vous aider ?

mars 13, 2025 à 2:11 am #16809619

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-06:00)

Bonjour,

Je suppose que vous avez ajouté le code que j'ai recommandé dans cette réponse au début du fichier, où il causerait une erreur critique de namespace,

Après débogage, j'ai chargé votre site localement, et j'ai activé le dossier des langues pour les deux langues, j'ai appliqué le changement dans le fichier functions.php de votre thème, et cela a fonctionné si je l'ai ajouté à la dernière ligne.

Le site fonctionne régulièrement et il n'y a aucun changement dans le .htaccess.

J'ai donc deux théories :

1- Soit le problème est purement lié à votre serveur (d'où le fait qu'il ne se réplique pas localement)
2- Soit le code functions.php a corrigé le problème.

Est-il possible d'appliquer le code à nouveau et de partager les erreurs exactes que vous obtenez (s'il y en a) ?

Merci,

mars 13, 2025 à 10:01 am #16811010

abyxoA

Voilà j'ai de nouveau appliqué le code dans functions.php et voici l'erreur :

Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, function "fix_rewritebase" not found or invalid function name in /home/lofl8463/public_html/wp-includes/class-wp-hook.php:324 Stack trace: #0 /home/lofl8463/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters() #1 /home/lofl8463/public_html/wp-includes/class-wp-rewrite.php(1476): apply_filters() #2 /home/lofl8463/public_html/wp-includes/class-wp-rewrite.php(1513): WP_Rewrite->rewrite_rules() #3 /home/lofl8463/public_html/wp-includes/class-wp-rewrite.php(1888): WP_Rewrite->refresh_rewrite_rules() #4 /home/lofl8463/public_html/wp-includes/class-wp-hook.php(324): WP_Rewrite->flush_rules() #5 /home/lofl8463/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #6 /home/lofl8463/public_html/wp-includes/plugin.php(517): WP_Hook->do_action() #7 /home/lofl8463/public_html/wp-settings.php(726): do_action() #8 /home/lofl8463/public_html/wp-config.php(118): require_once('/home/lofl8463/...') #9 /home/lofl8463/public_html/wp-load.php(50): require_once('/home/lofl8463/...') #10 /home/lofl8463/public_html/wp-blog-header.php(13): require_once('/home/lofl8463/...') #11 /home/lofl8463/public_html/index.php(17): require('/home/lofl8463/...') #12 {main} thrown in /home/lofl8463/public_html/wp-includes/class-wp-hook.php on line 324

J'ai essayé de la résoudre mais je n'ai pas trouvé la solution.

mars 13, 2025 à 10:08 am #16811029

abyxoA

Ok en faisant un appel de function($rules){} au lieu de fix_rewritebase ça a résolu le pb.

Merci bcp pour le support très efficace.