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 multi domaine + multi sous domaines


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Par défaut Htaccess multi domaine + multi sous domaines
    Bonjour à tous,

    Je me retrouve bloqué sur un point et j'aurais besoin de votre aide.
    Je dois mettre en place plusieurs sous-domaines sur le site d'un client (la conf dns est ok). Le problème est qu'en plus de devoir mettre en place ces deux sous domaines, je dois prendre en compte qu'il n'y a qu'un seul htaccess pour ses 3 sites (fr, be, uk) :s

    Pour l'instant, je suis parti la dessus (mais cela ne marche que pour un domaine :'( )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteCond %{HTTP_HOST} !^www.\.* [NC]
    RewriteCond %{HTTP_HOST} ([a-z0-9A-Z]+).\.* [NC]
     
    RewriteRule ^(?:collection)?$ index.php?t=collection[QSA,L]
    A ce stade, l'accès au www et au sous domaine collection.mondomaine.tld.
    Par contre si j'ajoute une nouvelle ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteCond %{HTTP_HOST} !^www.\.* [NC]
    RewriteCond %{HTTP_HOST} ([a-z0-9A-Z]+).\.* [NC]
     
    RewriteRule ^(?:collection)?$ index.php?t=collection[QSA,L]
    RewriteRule ^(?:client)?$ index.php?t=client[QSA,L]
    Plus rien ne fonctionne

    L'idée de base étant de déclarer entre les parenthèse les différentes sous-domaines traduits

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(client|customer|etc)?$ index.php?t=collection[QSA,L]
    Merci de m'aider

  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
    Citation Envoyé par atchoumen Voir le message
    Par contre si j'ajoute une nouvelle ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteCond %{HTTP_HOST} !^www.\.* [NC]
    RewriteCond %{HTTP_HOST} ([a-z0-9A-Z]+).\.* [NC]
     
    RewriteRule ^(?:collection)?$ index.php?t=collection[QSA,L]
    RewriteRule ^(?:client)?$ index.php?t=client[QSA,L]
    Plus rien ne fonctionne
    C'est normal car les RewriteCond ne se factorisent pas. Si plusieurs RewriteRule sont à exécuter avec les mêmes conditions, il faut répéter les RewriteCond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    RewriteCond %{HTTP_HOST} !^www.\.* [NC]
    RewriteCond %{HTTP_HOST} ([a-z0-9A-Z]+).\.* [NC]
    RewriteRule ^(?:collection)?$ index.php?t=collection[QSA,L]
     
    RewriteCond %{HTTP_HOST} !^www.\.* [NC]
    RewriteCond %{HTTP_HOST} ([a-z0-9A-Z]+).\.* [NC]
    RewriteRule ^(?:client)?$ index.php?t=client[QSA,L]
    Au-delà de ça, je n'ai pas bien compris ce que tu cherchais à faire. Si j'ai bien compris, c'est ceci que tu cherches :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteCond %{HTTP_HOST} !^www.\.* [NC]
    RewriteCond %{HTTP_HOST} ^([^.]+)\.
    RewriteRule ^$ index.php?t=%1 [QSA,L]

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Par défaut
    Bonjour Mac

    Merci pour ta réponse.

    En faite je voudrais faire fonctionner plusieurs sous-domaines et que chacun d'entre eux appel une fichiers différents qui contient les informations dédiées

    Ex :

    Mon sous domaine collection appel le fichier collection.php en passant d'autres paramètres et que mon second sous domaine client appel un autre fichier.
    Enfin le .htaccess s'applicant aux 3 sites, il faut que j'intégre les traductions dedans pour faire matcher

    Ex: si l'url appelée est client.domain.tld ou customer.client.tld il faut que ca soit la même regle qui s'applique dans le htacess pour eviter de la dupliquer. Ce qui donnerait quelques chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RewriteCond %{HTTP_HOST} !^www.\.* [NC]
    RewriteCond %{HTTP_HOST} ^([(client|customer).]+)\.
    RewriteRule ^$ index.php?t=client [QSA,L]
     
    RewriteCond %{HTTP_HOST} ^([(collections|collection).]+)\.
    RewriteRule ^$ index.php?t=collection [QSA,L]

    Merci pour ton aide

  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
    Si tu parles à un moment d'appeler collection.php, pourquoi tes exemples de .htaccess parlent plutôt de index.php?t=collection ?

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Par défaut
    Parce que mon code appel toujours le fichier index.php qui s'occupe de faire le traitement en faisant un include du bon fichier.
    Dans mon exemple, t=collection ira en faite faire un include du fichier collection.php

    Bref c'est vrai qu'en me relisant je me suis mal exprimé Sorry

    Pour le sous domaine collection.domain.tld la regle appelée sera index.php?t=collection et pour client index.php?t=client

  6. #6
    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
    Dis comme ça c'est plus clair, merci, et je confirme que la configuration que j'ai suggérée hier devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteCond %{HTTP_HOST} !^www.\.* [NC]
    RewriteCond %{HTTP_HOST} ^([^.]+)\.
    RewriteRule ^$ index.php?t=%1 [QSA,L]
    Dans un .htaccess uniquement (celui à la racine du site), si collection.domain.tld et client.domain.tld pointent sur le même document root.

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

Discussions similaires

  1. Redirection de sous-domaine vers sous-domaine
    Par hx2508 dans le forum Apache
    Réponses: 3
    Dernier message: 04/04/2013, 20h46
  2. Un .htaccess pour supprimer les sous-domaines
    Par zarohn dans le forum Apache
    Réponses: 8
    Dernier message: 10/05/2011, 03h23
  3. Réponses: 1
    Dernier message: 30/06/2010, 16h58
  4. 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