Simuler un sous-domaine

Nouveau WRInaute
Salut à tous,

Je développe une petite application pour laquelle j'aimerai simuler un sous-domaine.
Mon but est de transformer l'URL de la forme http://www.monsite.fr/index.php?user=boby en http://boby.monsite.fr/.
Est-ce possible ? Si oui, pouvez-vous m'indiquer comment (ou, à défaut, me donner une piste) ?

Mes recherches à ce propos m'ont mené vers une règle que je ne comprends pas. Donc si quelqu'un qui la comprend pourrait me l'expliquer et confirmer si elle est bonne, je lui en serait très reconnaissant. :) Mon environnement est Mac OS X et l'adresse (locale) de mon application est http://localhost:9999/CvN/.

Code:
RewriteCond	%{HTTP_HOST}	!^www\.site\.fr$ 
RewriteCond	%{HTTP_HOST}	^(.*)\.site\.fr$ 
RewriteRule	^/$	http://www.site.fr/page.php?id=%1	[P,L]


Je précise que ça ne me dérange absolument pas que Google considère chaque site comme différent, bien au contraire.

Je vous remercie d'avance,


Sephi-Chan
 
WRInaute impliqué
"Simuler un sous-domaine" ... c'est jamais très bien de simuler :p

Cette règle me semble correcte...
 
Nouveau WRInaute
Dharius a dit:
"Simuler un sous-domaine" ... c'est jamais très bien de simuler :p

Cette règle me semble correcte...
;)

Saurais-tu s'il te plaît m'expliquer cette règle ? Comment l'interpréter ? Je ne connais pas la syntaxe des instructions Apache (le %, les accolades, le !, etc.). Je suppose que HTTP_HOST fait référence à localhost:8888 dans mon cas, mais pour le reste…

Voilà en gros ce que je pense être bon :

On teste la partie hôte (hôtesse ?) de l'URL. Si ce n'est pas www.site.fr, on poursuit l'évaluation des règles.
On teste toujours la partie hôte de l'URL. Si elle est au format truc.site.fr, on poursuit l'évaluation des règles
Et là je pige pas ce à quoi sert ^/$ ni le [P, L]… Par contre je sais que %1 fait référence au faux sous-domaine capturé précédemment.

Après avoir adapté les règles à ma situation, je constante que ça ne fonctionne pas. J'ai saisi http://bob.localhost:8888/CvN/ dans ma barre d'adresse et mon navigateur n'a pas chargé la page http://localhost:8888/CvN/index.php?user=bob. Il m'a juste dit que le serveur bob.localhost était introuvable.

Une idée ?


Sephi-Chan
 
WRInaute occasionnel
Ce que tu cherches à faire s'appelle en anglais wildcard DNS record ou entrée DNS générique, cela te permettra de chercher mieux une solution mais en principe cela se fait au niveau de l'hébergeur, si il te le propose, car dans un .htaccess à la racine de ton site c'est souvent trop tard si il n'a pas été spécifié quelque part en amont que *.tonsite.com devait arriver sur tonsite.com
en général les hébergeurs font déjà pointer le www.tonsite.com sur tonsite.com car le www c'est une convention, mais les autres sous domaines non.
Mais c'est possible en tous cas, parle en avec eux!
 
Nouveau WRInaute
Merci pour cette piste Alliax. :)

Ça ressemble au Wildcard mask de mes cours Cisco ! :O
Pour le moment je boss en Localhost, donc je ne sais pas vraiment comment faire ça simplement.


Sephi-Chan
 
Discussions similaires
Haut