Redirection et nouveau domaine [Résolu]

Signaler
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010
-
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010
-
Bonjour à tous !

Je vous explique mon soucis :
Grace à l'url rewriting, j'ai créé différentes redirection de type :

www.monsite.com/nom1 qui pointe vers www.monsite.com?n=nom1
www.monsite.com/nom2 qui pointe vers www.monsite.com?n=nom2
www.monsite.com/nomN qui pointe vers www.monsite.com?n=nomN

...

J'ai plusieurs nom de domaine sur mon espace 1&1 mutualisé et j'aimerais accéder à :
www.monsite.com/nom1 depuis www.monsite1.com
www.monsite.com/nom2 depuis www.monsite2.com
www.monsite.com/nomN depuis www.monsiteN.com
...

Depuis mon espace client, j'ai essayé de modifier les destination des www.monsiteN.com vers des répertoires existant /nomN mais ça ne marche pas puisque ces répertoires n'existent pas (erreur 401), logique.
J'ai essayé des redirection de type "Rediriger votre domaine" www.monsiteN.com vers http://www.monsite.com/nom1 et dans ce cas lorsque je tappe www.monsiteN.com, ça marche mais c'est une redirection, j'ai donc www.monsite.com/nomN qui s'affiche dans la barre d'adresse.

L'intitulé de mon problème est donc simple :
j'aimerais que lorsque je tape www.monsiteN.com j'accède à mon adresse réécrite www.monsite.com/nomN avec www.monsiteN.com dans la barre d'adresse.

Est-ce possible ?
Merci pour votre aide

6 réponses

Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
16
Alors tu dois :
1/ Faire pointer le vhost vers le répertoire qui contient les fichiers : tu ne peux pas y échapper, il faut obligatoirement que le domaine pointe vers un répertoire physique.
2/ Ensuite, c'est dans ton code que tu vas aller chercher les données dans ta base en fonction du domaine, qui se trouve stocké dans $_SERVER['SERVER_NAME']
Tous les autres paramètres sont à récupérer simplement dans $_GET.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
16
Salut,

Dans la configuration d'Apache, le répertoire du nom de domaine (DocumentRoot) est le répertoire qui contient les fichiers à publier pour ce domaine. Il faut donc OBLIGATOIREMENT spécifier un répertoire qui existe : la configuration d'Apache ne tient pas compte des règles de réécritures éventuelles, lesquelles sont chargées plus tard.

En fait, tu n'as pas besoin de réécrire les URL... Si le domaine pointe vers le bon répertoire, il affiche le contenu et puis c'est tout...

Ou alors y'a un truc qui m'échappe...
Le seul truc important auquel tu dois faire attention, c'est que tes fichiers PHP doivent tenir compte du domaine qui peut changer et doivent générer des URL en conséquence.

Est-ce que ça répond à ta question, ou pas ?

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010

Merci pour ta réponse.

En fait si, je dois réécrire les url :
Mon but est que chaque client possède une adresse la plus simple possible du type www.monsite.com/compte
Le répertoire compte n'existe pas physiquement (url rewriting).

Le client a aussi la possibilité d'acquérir un nom de domaine www.domaineclient.com qui affiche la page www.monsite.com/compte. Le soucis c'est que, comme tu le dis, je ne peux pas faire pointer un nom de domaine vers un dossier virtuel.

Je pense que le seul moyen pour cela c'est d'éditer le .htaccess pour chaque client.
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
16
Mon but est que chaque client possède une adresse la plus simple possible du type www.monsite.com/compte
Le répertoire compte n'existe pas physiquement (url rewriting).

Jusque là, ok.

Le client a aussi la possibilité d'acquérir un nom de domaine www.domaineclient.com qui affiche la page www.monsite.com/compte. Le soucis c'est que, comme tu le dis, je ne peux pas faire pointer un nom de domaine vers un dossier virtuel.

Là, par contre, tu t'égares...
Les fichiers du client, ils sont bien physiquement dans un répertoire physique... Il suffit de pointer le vhost vers ce répertoire physique : tu n'as pas besoin de réécriture d'url pour ce cas là.


Pour la réécriture de www.monsite.com/compte, un truc dans le genre :
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]+)/(.*)  /path/to/directory/compte/$1  [QSA,L]


--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010


Là, par contre, tu t'égares...
Les fichiers du client, ils sont bien physiquement dans un répertoire physique...


En effet, mais le répertoire dans lequel sont contenues les pages est commun à tous les clients. Les pages de ce répertoire importent les variables de ma base de donnée.

Il faudrait que je fasse un truc du genre (vrai url avant la réécriture) :
Redirect permanent /mapage.php?compte=compte1&pagecourante=([0-9a-zA-Z-]+)$ http://www.domaineclient.com/$1.html [R=301,L]


En effet, je m'y perds...
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010

Encore merci pour tes éclairages