La communauté ALL HTML c'est 58029 membres à ce jour dont 2 inscrits aujourd'hui et 31 depuis une semaine.

URL Rewriting et sous-domaine virtuel

Photo de Junior83 Article publié le lundi 20 novembre 2006 par Junior83.
Cet article est classé dans les catégories « Nom de domaine, PHP, Référencement »

Comment créer des sous-domaines virtuels :<br /> EX : test.mondomaine.tld = www.mondomaine.tld/test/

Dans un premier temps vous allez devoir faire une petite vérification voir une modification dans les ZONE DNS de votre domaine afin de pouvoir faire des sous domaines virtuels.

Vérifier la présence de cette Zone DNS, si elle n'existe pas il faut la créer sans ça les sous domaines virtuels ne fonctionneront pas.

Zone DNS
* IN A IP-DU-SERVEUR

Le “*” veut dire que toutes les requêtes *.mondomaine.tld (nimportequoi.mondomaine.tld) doit pointer vers IP-DU-SERVEUR

Pour vérifier si la zone DNS est bien en place, tapez dans votre navigateur favoris l'adresse suivante test.votredomaine.tld, vous devez logiquement vous retrouvez sur l'index de http://www.votredomaine.tld, si ce n'est pas le cas la zone DNS est mal voir pas déclaré.

Dans un deuxième temps, si jusque là vous n'avez pas rencontré de problèmes nous allons modifier le .htaccess pour que la notion de sous domaines virtuels trouve tout son sens.

Editez donc votre .htaccess.

Si vous souhaitez qu'un sous domaine virtuel en particulier pointe vers un répertoire de votre www, utilisez ce type de syntaxe pour votre fichier .htaccess .
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.mondomaine.tld RewriteCond %{HTTP_HOST} ^test.mondomaine.tld RewriteRule ^$ /test/index.php RewriteRule ^([^.]+).html$ /test/index.php?page=$1 [L]

Dans le cas présent si le sous domaine demandé n'est pas www mais test nous atteindront la page index.php du répertoire test
Exemple : test.mondomaine.tld/index.html = http://www.mondomaine.tld/test/index.php?page=index


Si vous souhaitez que tous les sous domaines virtuels pointent vers un répertoire et soient passé en variable à un fichier php, utilisez cette syntaxe pour votre fichier .htaccess .

RewriteEngine On RewriteCond %{HTTP_HOST} !^www.mondomaine.tld RewriteCond %{HTTP_HOST} !^test.mondomaine.tld RewriteCond %{HTTP_HOST} ^([^.]+).mondomaine.tld RewriteRule ^$ /autre-test/index.php?sous_domaine=%1 RewriteRule ^([^.]+).html$ /autre-test/index.php?sous_domaine=%1&page=$1 [L]

Dans le cas présent si le sous domaine demandé n'est pas www ou test nous le passons en variable à index.php
Exemple : profils.mondomaine.tld/utilisateur.html = http://www.mondomaine.tld/autre-test/index.php?sous_domaine=profils&page=utilisateur


J'espère avoir été suffisamment clair.

Bon ReWriting ! :)

VOS COMMENTAIRES ...

Commenter cette publication

Photo de lukybenito Commentaire publié le samedi 20 janvier 2007 à 02 h 17 par lukybenito
TRÈS CLAIR! ;-)
Photo de supertotau Commentaire publié le mercredi 07 février 2007 à 00 h 38 par supertotau
Bonjour,

Effectivement cela semble clair mais je me pose tout de même une question.
J'utilise un serveur local (wamp) et je voudrais savoir où paramètrer les zones DNS mentionnées en début d'article ?
Est-ce dans le fichier hosts situé dans : C:\WINDOWS\system32\drivers\etc\hosts ?

Merci d'avance.
Photo de Junior83 Commentaire publié le lundi 19 février 2007 à 09 h 28 par Junior83
Salut,

En local tu ne pourras pas faire fonctionner cette technique.
Il faut posséder un nom de domaine et quand je parle de DNS, c’est des modifications à apporter directement sur l’interface administration de ton domaine chez ton registrar.

J’espère avoir éclairé ta lanterne !
Photo de enligne Commentaire publié le lundi 26 février 2007 à 13 h 55 par enligne
Bonjour,

Mon hébergeur (nuxit) n'autorise pas le Wildcard DNS ( * ) sur leurs serveurs DNS, alors j'ai pensé utiliser les serveurs DNS de mon registrar Gandi qui lui le permet.

Voici mes entrées chez Gandi :
@ 10800 IN A 195.14.0.51
www 10800 IN A 195.14.0.51
* 10800 IN A 195.14.0.51

D'après vous, est-ce correct ?
Photo de JoTrAsH Commentaire publié le mardi 13 mars 2007 à 18 h 15 par JoTrAsH
Bonjour,
Je suis sur un serveur 1and1 mutualisé, et dans les paramètres DNS de mon nom de domaine, je ne trouve nule part où modifier les DNS.
En effet, j'ai bien testé un essai.ndd.com mais, cela ne redirige pas sur le ndd.com donc d'après le tuto, il y a un problème à ce niveau.
Avez vous une idée de comment modifier cela ?
Merci d'avance
Photo de Junior83 Commentaire publié le lundi 19 mars 2007 à 13 h 31 par Junior83
salut,

Ton nom de domaine est chez 1and1 aussi ?
Si oui regarde ici : http://faq.1and1.fr/domaines/dnsconfig/index.html
plus précisément dans la rubrique : Qu'est-ce qu'un A-Record et comment le définir

il te faut au préalable l’adresse IP de ton serveur mutualisé et ajouter un enregistrement de type A-Record : * A ipduserveur

aprés tu peux toujours demander au support
@+
Photo de JoTrAsH Commentaire publié le lundi 19 mars 2007 à 20 h 21 par JoTrAsH
Merci pour ton intervention, J'ai donc suivi la procédure, je verrais si cela marche!
Merci encore
Photo de joel973 Commentaire publié le dimanche 17 juin 2007 à 09 h 03 par joel973
Salut a tous..
Je suis chez 1and1 egalement et je n'arrive pas a modifier la zone DNS ..
Quelque pourrait svp essayer de m'aider ?
J'ai suivi la FAQ > sa donne rien .. :(
merci a bientot peut etre
Photo de maitreya Commentaire publié le jeudi 27 mars 2008 à 21 h 44 par maitreya
Bonsoir,

J'ai suivi les instructions en adaptant très légèrement le code ainsi :

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mondomaine.com
RewriteCond %{HTTP_HOST} ^([^.]+).mondomaine.com
RewriteRule ^$ /sousrep/index.php?www=%1
RewriteRule ^([^.]+).html$ /sousrep/index.php?www=%1&page=$1 [L]

Résultats :
- http://www.mondomaine.com va bien au bon endroit
- sousdomaine.mondomaine.com va bien au bon endroit
- sousdomaine.mondomaine.com/je-suis-tout-et-rien.html repart ailleurs...

C'est à dire qu'il est redirigé sur le domaine principal (j'ai une redirection PHP qui s'en occupe si le $www est vide), comme si le sous-domaine $www n'était plus reconnu... alors que je souhaiterais simplement rester sur sousdomaine.mondomaine.com et exploiter la valeur de $page pour afficher un contenu spécifique en rapport.

Avez-vous une idée de la cause de cette erreur ??
Photo de saturn1 Commentaire publié le vendredi 25 avril 2008 à 00 h 17 par saturn1
Bonjour, je voudrai comment on accède à ce fichier pour le modifier :
-> en local
-> sous 1&1.(j'ai lu la faq j'ai pas réussi).
Merci

Commenter cette publication

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

Forums de discussions associés

Discutez et échangez sur ce thème dans nos forums Serveur - Hébergement, PHP - SQL, Référencement.

Liens sponsorisés

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

agenda