Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2055 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  htaccess et gestion des sous-domaines

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

htaccess et gestion des sous-domaines

n°1704549
Gum
Evadé fiscal
Posté le 19-03-2008 à 12:42:04  profilanswer
 

Bonjour,
 
Je me permets de vous demander un peu d'aide du fait de mon incapacité à rédiger un .htaccess correct.
J'ai pourtant lu de nombreux exemples ainsi que la documentation Apache, mais rien n'y fait...  
 
 
Actuellement, 3 domaines pointent sur le même espace d'hébergement.
 
Je souhaite réaliser 3 sites différents possédant chacun des sous-domaines.
 
 
Ce que je cherche à avoir :
 
L'utilisateur demande http://www.domaine1.fr, le dossier pointé est /domaine1/www/
L'utilisateur demande http://www.domaine2.fr, le dossier pointé est /domaine2/www/
L'utilisateur demande http://www.domaine3.fr, le dossier pointé est /domaine3/www/
 
L'utilisateur demande http://toto.domaine1.fr, le dossier pointé est /domaine1/toto/
L'utilisateur demande http://blabla.domaine2.fr, le dossier pointé est /domaine2/blabla/
L'utilisateur demande http://nutnut.domaine3.fr, le dossier pointé est /domaine3/nutnut/
 
 
 
J'ai bien trouvé un script qui gére ces sous-domaines (et qui fonctionne), mais il ne distingue pas les 3 domaines :
 
RewriteEngine on
# redirection des sous-domaines
RewriteCond %{REQUEST_URI} !^/sdoms
RewriteCond %{HTTP_HOST} ^([^.]*)\.?[^.]+\.[^.]+$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)$ /sdoms/%1/$1
 
 
 
 
Merci d'avance pour votre aide !

Message cité 1 fois
Message édité par Gum le 19-03-2008 à 12:45:23
mood
Publicité
Posté le 19-03-2008 à 12:42:04  profilanswer
 

n°1721558
uncle buzz
Posté le 22-04-2008 à 11:07:42  profilanswer
 

Gum a écrit :


RewriteCond %{HTTP_HOST} ^([^.]*)\.?[^.]+\.[^.]+$ [NC]


 
Bonjour,
 
Si je ne me trompe pas, ici tu ne stocke que le texte avant le 1er "." dans la variable $1 (ce sont les parenthèses de mémoire qui permettent de définir ce qui est stocké), du coup tu ne fais aucun test sur le domaine qui lui vient après.
 
ton domaine est de la forme [sous domaine] . [nom du domaine] . fr
 
ton code là ne fait que stocké la partie [sous domaine], donc tu sais dissocier les sous domaines mais pas les domaines.
Il faudrait en plus récupérer la partie [nom du domaine] et la traiter pour différencier les domaines.
 
il faudrait avoir quelque chose du genre

Code :
  1. RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+)\.[^.]+$ [NC]

et faire des test sur $2 pour différencier les domaines.
 
A confirmer parce que je n'ai fait que quelque recherche sur le rewriting sans jamais l'avoir vraiment pratiquer, et un peu de regexp...


Message édité par uncle buzz le 22-04-2008 à 11:10:34
n°1721796
Gum
Evadé fiscal
Posté le 22-04-2008 à 14:16:57  profilanswer
 

J'avais à peu près la même analyse du code, mais je ne savais pas comment le modifier pour stocker les différentes parties.
 
A priori, l'ajout de ces 2 parenthèses permet de stocker le [nom de domaine] en  %2 ?
 
J'essayerai ce soir ;)
 
Merci en tous cas pour la réponse :)

n°1723070
Gum
Evadé fiscal
Posté le 23-04-2008 à 17:47:36  profilanswer
 

Ca marche !  :bounce:  
 


RewriteEngine on  
 
# corrige le problème des slashs manquants en fin d'URL
 
RewriteCond %{REQUEST_URI} (/[^.]+)[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}/ [R=301,L]
 
 
# rajoute les www s'ils ont été oubliés
 
RewriteCond %{HTTP_HOST} ^domaine1.fr$ [nc]
RewriteRule ^(.*) http://www.domaine1.fr$1 [QSA,L,R=301]
RewriteCond %{HTTP_HOST} ^domaine2.fr$ [nc]
RewriteRule ^(.*) http://www.domaine2.fr$1 [QSA,L,R=301]
 
 
# redirection des sous-domaines de domaine1
 
RewriteCond %{REQUEST_URI} !^/domaine1
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+)\.[^.]+$ [NC]
RewriteCond %2 !^domaine2$ [NC]  
RewriteRule ^(.*)$ /domaine1/%1/$1  
 
 
# redirection des sous-domaines de domaine2
 
RewriteCond %{REQUEST_URI} !^/domaine2
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+)\.[^.]+$ [NC]
RewriteCond %2 !^domaine1$ [NC]  
RewriteRule ^(.*)$ /domaine2/%1/$1  


 
Ce n'est peut-être pas la solution la plus propre, mais elle fonctionne totalement et remplit sa fonction.
 
Grand merci à toi :hello:


Message édité par Gum le 23-04-2008 à 17:48:09

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  htaccess et gestion des sous-domaines

 

Sujets relatifs
[Résolu] Redirection htaccess index.php vers index.php?page=Gestion de code source à afficher sur une page (insertion code en bdd)
Conseil sur gestion de la BDD [SQL]Protèger un dossier sans htaccess?
Gestion de Message (PostMessage,....)[resolu] htaccess et sous-domaine vers dossier..
[JAVA SWING] probleme avec la gestion des layout managerGestion d'un aéroport
Problème pour la gestion d'un club sportifGestion téléchargement / upload
Plus de sujets relatifs à : htaccess et gestion des sous-domaines


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR