IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Apache Discussion :

.htaccess et multi-domaines


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut .htaccess et multi-domaines
    Bonjour à tous,

    J'ai beau chercher sur le net, je trouves pleins de choses, mais rien de fonctionnel pour mon cas (ou alors je dois râter quelque chose)...

    Je sollicite donc votre aide

    Je possède plusieurs domaines :
    - www.xxx-belgique.be
    - www.xxx-belgie.be

    (où xxx ne sont pas des sites pornos )

    Domaines, que je dois lier au même site (multi-langues).

    J'aimerais donc par exemple que :
    - lorsque l'utilisateur vient de l'url www.xxx-belgie.be il soit redirigé (ainsi que toutes les futures pages appellées) vers www.xxx-belgie.be/index.php?lang=nl
    - lorsque l'utilisateur vient de l'url www.xxx-belgique.be il soit redirigé (ainsi que toutes les futures pages appellées) vers www.xxx-belgique.be/index.php?lang=fr

    J'ai essayé uyn truc du genre, sans résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^xxx-belgie\.be$ [NC]
    RewriteRule ^(.*)$ /index.php?lang=nl [QSA,L]
    RewriteCond %{HTTP_HOST} ^xxx-belgique.be$ [NC]
    RewriteRule ^(.*)$ /index.php?lang=fr [QSA,L]
    </IfModule>
    Merci d'avance pour votre aide précieuse

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Truc idiot : il se passe quoi si tu retires le / devant tes index.php dans le second membre des RewriteRule ?

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    Il n'y a jamais de réponse idiote...

    J'ai essayé et çà ne change rien

    J'ai même fait plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^belgie$ [NC]
    RewriteRule ^(.*)$ /index.php?lang=nl [QSA,L]
    RewriteCond %{HTTP_HOST} ^belgique$ [NC]
    RewriteRule ^(.*)$ /index.php?lang=fr [QSA,L]
    </IfModule>
    Cà ne change rien non plus

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Tu ne peux pas mettre RewriteCond %{HTTP_HOST} ^belgie$ [NC] sauf si ton navigateur demande exactement http://belgie/, donc s'il y a vraisemblablement une configuration spécifique dans le fichier etc/hosts du client.

    Tu as essayé cette configuration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^xxx-belgie\.be$ [NC]
    RewriteRule ^(.*)$ index.php?lang=nl [QSA,L]
    RewriteCond %{HTTP_HOST} ^xxx-belgique.be$ [NC]
    RewriteRule ^(.*)$ index.php?lang=fr [QSA,L]
    </IfModule>
    Cela suppose d'appeler les URL suivantes : http://xxx-belgie.be/ et http://xxx-belgique.be/ (pas de www devant puisque ces www ne figurent pas dans tes RewriteCond).

  5. #5
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    Bonjour et déjà merci pour ton aide...

    Je vais essayer d'être plus précis : mon domaine actuel xxx-belgique.be héberge un site en Joomla, multi-langues

    Donc www.xxx-belgique.be?lang=fr et www.xxx-belgique.be?lang=nl fonctionnent...

    J'ai acheté un second domaine xxx-belgie.be qui pointe vers le meme hebergement.

    Actuellement www.xxx-belgie.be?lang=fr et www.xxx-belgie.be?lang=nl fonctionnent aussi, puisque même site...

    J'aimerais que :
    1/ Tous les sites suivants fonctionnent :
    www.xxx-belgie.be
    xxx-belgie.be
    www.xxx-belgique.be
    xxx-belgique.be
    2/ Si l'utilisateur provient de l'URL www.xxx-belgique.be (ou xxx-belgique.be) qu'il soit redirigé par défaut vers sa langue (index.php?lang=fr)

    3/ Si l'utilisateur provient de l'URL www.xxx-belgie.be (ou xxx-belgie.be) qu'il soit redirigé par défaut vers sa langue (index.php?lang=nl)

    Qu'après, il surfe sur le site et change de langue à sa bonne convenance, pas de soucis, mais par défaut il arrive sur sa langue privilégiée...

    A noter que si une page du style www.xxx-belgie.be/contact.php a été référencée et que l'utilisateur clique sur ce lien directement, du fait qu'il provienne du domaine xxx-belgie.be, il devrait égelement être redirigé vers sa langue par défaut sur cette page (donc www.xxx-belgie.be/contact.php?lang=nl)

    J'ai essayé çà aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <IfModule mod_rewrite.c>
    RewriteCond %{HTTP_HOST}   ^www\.xxx\-belgie\.be [NC]
    RewriteCond %{HTTP_HOST}   !^$
    RewriteRule ^/(.*)         /index.php?lang=nl [L,R]
    RewriteCond %{HTTP_HOST}   ^www\.xxx\-belgique\.be [NC]
    RewriteCond %{HTTP_HOST}   !^$
    RewriteRule ^/(.*)         /index.php?lang=fr [L,R]
    </IfModule>
    Je me suis même dis qu'il suffisait d'ajouter à toutes les requêtes un paramètre en plus (de ceux existants) &lang=fr ou &lang=be, j'ai donc essayé ceci, sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(www.)?xxx\-belgie.be$ [NC]
    RewriteRule ^(.*)$ http://www.xxx-belgie.be/$1&lang=nl [QSA,L]
    RewriteCond %{HTTP_HOST} ^(www.)?xxx\-belgique.be$ [NC]
    RewriteRule ^(.*)$ http://www.xxx-belgique.be/$1&lang=fr [QSA,L]
    </IfModule>
    Bizarre que je ne trouve personne sur le net qui aie eu ce besoin

  6. #6
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    Après plusieurs heures de recherches et tests, je pense avoir trouvé mon bonheur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(www\.)?xxx\-belgie\.be$ [NC]
    RewriteCond %{QUERY_STRING} ^$
    RewriteRule index.php index.php?lang=nl [QSA,L]
    RewriteCond %{HTTP_HOST} ^(www\.)?xxx\-belgique\.be$ [NC]
    RewriteCond %{QUERY_STRING} ^$
    RewriteRule index.php index.php?lang=fr [QSA,L]
    RewriteCond %{HTTP_HOST} ^(www\.)?xxx\-belgium\.be$ [NC]
    RewriteCond %{QUERY_STRING} ^$
    RewriteRule index.php index.php?lang=en [QSA,L]
    </IfModule>
    En gros : si le domaine est xxx-belgie.be et que je n'ai pas de paramètres derrières (lien vers une page, etc) je redirige la page par défaut index.php vers index.pgp?lang=nl

    Les autres pages (CSS, JS, ...) ne sont pas impactées

    Si j'ai des paramètres dans l'URL, du style xxx-belgie.be/index.php?x=aaa&y=aaa, je ne fais rien !

    Ca permet entre autre au visiteur de changer de langue, malgré qu'il a été orienté vers une langue par défaut au départ...

    J'espère ne rien avoir râté

  7. #7
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    En fait, je crois qu'il faut légèrement changer d'approche car là, on ne traite que le fichier index.php, et si j'en crois ton premier message, il y a d'autres fichiers possibles (contact.php par exemple). Donc je pense qu'il faut travailler au niveau de la query string uniquement, comme ça, pas de risque de rediriger systématiquement vers l'index.php de la racine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <IfModule mod_rewrite.c>
        RewriteEngine On
     
        RewriteCond %{HTTP_HOST} ^(www\.)?xxx\-belgie\.be$ [NC]
        RewriteCond %{QUERY_STRING} !lang=
        RewriteRule (.*) $1?lang=nl [QSA,L]
     
        RewriteCond %{HTTP_HOST} ^(www\.)?xxx\-belgique\.be$ [NC]
        RewriteCond %{QUERY_STRING} !lang=
        RewriteRule (.*) $1?lang=fr [QSA,L]
     
        RewriteCond %{HTTP_HOST} ^(www\.)?xxx\-belgium\.be$ [NC]
        RewriteCond %{QUERY_STRING} !lang=
        RewriteRule (.*) $1?lang=en [QSA,L]
    </IfModule>

  8. #8
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    Ca a l'air d'aller !

    Je testerai cela plus en détails tout à l'heure chez moi, et je te tiens au courant...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Règle htaccess, certificat ssl et multi-domaines
    Par Invité dans le forum Apache
    Réponses: 3
    Dernier message: 25/07/2016, 00h49
  2. Htaccess multi domaine + multi sous domaines
    Par atchoumen dans le forum Apache
    Réponses: 6
    Dernier message: 04/07/2012, 12h03
  3. Redirection multi-domaine avec .htaccess
    Par Nyaxou dans le forum Apache
    Réponses: 4
    Dernier message: 12/02/2011, 23h12
  4. [Cookies] Créer un cookie multi domaine
    Par The_Pretender dans le forum Langage
    Réponses: 2
    Dernier message: 22/12/2006, 09h40
  5. Apache2 + ssl + sous-domaine + multi-domaine
    Par Squyrrel dans le forum Apache
    Réponses: 8
    Dernier message: 28/04/2006, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo