Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    URL Rewriting htaccess multi langue wordpress sans pluging
    Hello à tous après des jours de recherche et de tests, vous êtes mon dernier espoir avant l'abandon.
    Que je vous explique tout ça:
    Je suis sur wordpress et j'ai mis en place en php un systeme de multi langue (FR/EN) sans plugin (juste ma patte).
    Son fonctionnement :


    1)
    si c'est la première visite :
    • detecte la langue du navigateur et met FR ou EN dans le cookie language
    • La variable php language egal EN ou FR

    sinon :
    • La variable php language egal AU COOKIE language donc EN ou FR



    2)
    si clic sur le bouton de changement de langue :
    • Change le cookies de langue et rafraichi la page.



    3)
    Selon la variable php language affiche le texte du fichier de la langue choisi

    (si je ne suis pas clair hesitez pas à me le dire)
    Voila pour le foncionnement.

    MON PROBLEME
    GOOGLE ! et le SEO
    Ma methode me convient parfaitement ça marche super sauf que mes URL ne change pas.

    MA DEMANDE
    Je souhaiterai faire une re-ecriture D'URL de la sorte:

    Si mon cookie = FR re-ecrit https://monsite.com vers https://monsite.com/fr OU https://monsite.com/ma-page vers https://monsite.com/fr/ma-page
    Pas de re-ecriture si mon cookie = EN

    et surtout si en FR je suis sur la page https://monsite.com/fr/ma-page et que je souhaite aller sur page 2 il me met bien https://monsite.com/fr/ma-page2


    LES POINTS TECHNIQUES

    Wordpress reecrit deja les pages de https://monsite.com/?p=123 vers https://monsite.com/ma-page
    et voici le htaccess de base :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
     
    # END WordPress



    Et pour finir
    Je crois qu'il y a tout
    Je vous dis déja merci d'avoir lu jusqu'ici et merci pour votre aide !

  2. #2
    Expert éminent sénior
    Pour WordPress il existe au moins 2 extensions qui sont très connues et qui font déjà une grande partie des fonctionnalités que vous cherchez à faire.
    Donc, vous allez certainement pouvoir faire la même chose dans votre extension mais cela prendrait plusieurs heures à mettre en place donc cela ne me motive pas trop pour vous aider.

  3. #3
    Membre à l'essai
    Bonjour Mathieu,
    Merci pour ta réponse honnête.
    Je sais qu'il existe des extensions pour le multilingue comme wpml ou polylang.
    La raison de mon choix de ne pas les utiliser, c'est de ne pas être esclave de ces pluging.
    Mon site est maintenant un site de grande ampleur et wordpress était un mauvais choix. Une refonte sans wordpress commence déjà à être créé, mais l'urgence nous oblige à mettre déjà en place le multilangue sur le site wordpress.

    Je veux aussi progresser et surtout comprendre.

    Vaux t'il mieux me concerter sur les cookies et faire une redirection en me basant dessus
    un truck comme ça ? #RewriteCond %{HTTP_COOKIE} language=([^;]+) [NC]
    ou d'abord creer et ajouter un argument à l'url et partir sur un truck comme ça ? #RewriteCond %{QUERY_STRING} lang=fr

    J'ai essayé ça : #RewriteRule ^(.*) /base/fr/$1? [L,R=301] mais c'est comme une redirection et non une réécriture.


    J'ai même essayé la functions wordress add_rewrite_rule dans le fichier function.php sans succès.
    Je suis sur une sans issue, j'ai vraiment besoin de votre aide svp.

###raw>template_hook.ano_emploi###