simuler un sous domaine url rewritting
11 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
simuler un sous domaine url rewritting
Bonjour,
Je souhaite faire une simulation de non de domaine mais ca ne marche pas chez moi.
le but est de faire
toto.example.com -> www.example.com/page.php?pseudo='toto'
pour ca je fait :
(-[a-z]*)
RewriteRule http://localhost/(-[a-zA-Z]*).example.com$
http://localhost/www.example.com/page.php?pseudo=$1 [L]
ou
RewriteRule ^(-[a-zA-Z]*).example.com$
www.example.com/page.php?pseudo=$1 [L]
merci d'avance!
Je souhaite faire une simulation de non de domaine mais ca ne marche pas chez moi.
le but est de faire
toto.example.com -> www.example.com/page.php?pseudo='toto'
pour ca je fait :
(-[a-z]*)
RewriteRule http://localhost/(-[a-zA-Z]*).example.com$
http://localhost/www.example.com/page.php?pseudo=$1 [L]
ou
RewriteRule ^(-[a-zA-Z]*).example.com$
www.example.com/page.php?pseudo=$1 [L]
merci d'avance!
j'ai eu besoin d'un truc similaire pour mes blogs et ce que j'ai fait est une autre facon de voir:
tous mes sous domaines vont dans un sous dossier de mon site
et mes pages dedans utilise une variable en php qui trouve le pseudo dans le domaine...
tous mes sous domaines vont dans un sous dossier de mon site
et mes pages dedans utilise une variable en php qui trouve le pseudo dans le domaine...
-

nickargall - WRInaute accro

- Messages: 5319
- Inscription: Lun Juin 13, 2005 14:13
Je suis pas sur qu'on puisse utiliser le rewriting pour simuler des sous domaines. de toute façon ça serait une horreur pour le référencement, un sous domaine étant considéré comme un site différent du principal pour les moteurs.
merci pour vos reponses rapides
pour mitirapa,
oui mais tu doit surement crée un sous domaine par membre .
Mais moi je n'ai pas envie d'avoir d'adherence cote serveur.
Ce que je voulais juste savoir c'est a propos de ma regle .
RewriteRule http://localhost/(-[a-zA-Z]*).example.com$
http://localhost/www.example.com/page.php?pseudo=$1 [L]
ou
RewriteRule ^(-[a-zA-Z]*).example.com$
www.example.com/page.php?pseudo=$1 [L]
Est elle possible ?
si oui pourquoi n'est elle pas correct ?
Merci d'avance
pour mitirapa,
oui mais tu doit surement crée un sous domaine par membre .
Mais moi je n'ai pas envie d'avoir d'adherence cote serveur.
Ce que je voulais juste savoir c'est a propos de ma regle .
RewriteRule http://localhost/(-[a-zA-Z]*).example.com$
http://localhost/www.example.com/page.php?pseudo=$1 [L]
ou
RewriteRule ^(-[a-zA-Z]*).example.com$
www.example.com/page.php?pseudo=$1 [L]
Est elle possible ?
si oui pourquoi n'est elle pas correct ?
Merci d'avance
iometrine a écrit:merci pour vos reponses rapides
pour mitirapa,
oui mais tu doit surement crée un sous domaine par membre .
Mais moi je n'ai pas envie d'avoir d'adherence cote serveur.
nan c'est des alias illimité... donc 2/3 lignes a mettre dans ton httpd puis basta
Déja il faut ajouter l'entrée * dans ton dns, pour que tous les sous domaines pointent sur l'ip de ton serveur.
Ensuite les regles sont à mettre dans ton httpd.conf
Avec un truc du genre
RewriteMap lowercase int:tolower
RewriteCond ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
RewriteCond %{HTTP_HOST} ^www\.[^.]+\.exemple\.com$ [NC]
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^www\.([^.]+)\.exemple\.com(.*) /var/www/users/$1$2 [L]
Ainsi tout sous domaine de la forme www.toto.exemple.com affichera le contenu du dossier var/www/users/toto
Ensuite les regles sont à mettre dans ton httpd.conf
Avec un truc du genre
RewriteMap lowercase int:tolower
RewriteCond ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
RewriteCond %{HTTP_HOST} ^www\.[^.]+\.exemple\.com$ [NC]
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^www\.([^.]+)\.exemple\.com(.*) /var/www/users/$1$2 [L]
Ainsi tout sous domaine de la forme www.toto.exemple.com affichera le contenu du dossier var/www/users/toto
merci thepsy,
mais je cherche a faire
toto.exemple.com var/www/users/page.php?id='toto'
alors j'ai essayé ce que tu m'as dit en le modifiant un peu mais sans succes:
RewriteRule ^([^.]+)\.exemple\.com(.*) /var/www/users/page.php?id=$1 [L]
mais ca marche pas,j'ai l'impression qu'il ne passe jamais dedans et qu'il cherche sur le serveur "toto.exemple.com" quoi qu'il en soit !!!!
c 'est quoi l'erreur ?
merci d'avance
mais je cherche a faire
toto.exemple.com var/www/users/page.php?id='toto'
alors j'ai essayé ce que tu m'as dit en le modifiant un peu mais sans succes:
RewriteRule ^([^.]+)\.exemple\.com(.*) /var/www/users/page.php?id=$1 [L]
mais ca marche pas,j'ai l'impression qu'il ne passe jamais dedans et qu'il cherche sur le serveur "toto.exemple.com" quoi qu'il en soit !!!!
c 'est quoi l'erreur ?
merci d'avance
Tu a bien ajouté l'entré * a ton dns?
Ou tu fais tes test en local?
dans tout les cas les regles doivent etre dans une section virtualhost de ton httpd.conf.
Dans ton cas
<VirtualHost tonip>
ServerName user.exemple.com #doit etre défini et different du nom du serveur principal
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteCond ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
RewriteCond %{HTTP_HOST} ^[^.]+\.exemple\.com$ [NC]
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.exemple\.com(.*) http://www.exemple.com/page.php?id=$1 [L]
</VirtualHost>
remplace juste tonip par l'ip de ton serveur et dis ce que ça donne
Parcontre les url du type http://toto.exemple.com/image.jpg ne pouront pas marcher directement puisque toutes les requettes seront redirigé sur l'url http://www.exemple.com/page.php?id=toto, tu devras adapter la regle
Ou tu fais tes test en local?
dans tout les cas les regles doivent etre dans une section virtualhost de ton httpd.conf.
Dans ton cas
<VirtualHost tonip>
ServerName user.exemple.com #doit etre défini et different du nom du serveur principal
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteCond ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
RewriteCond %{HTTP_HOST} ^[^.]+\.exemple\.com$ [NC]
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.exemple\.com(.*) http://www.exemple.com/page.php?id=$1 [L]
</VirtualHost>
remplace juste tonip par l'ip de ton serveur et dis ce que ça donne
Parcontre les url du type http://toto.exemple.com/image.jpg ne pouront pas marcher directement puisque toutes les requettes seront redirigé sur l'url http://www.exemple.com/page.php?id=toto, tu devras adapter la regle
Désole,
car je ne t'avais pas dit que je fonctionnais en local, car je prépare un peu mon site en fonction de ca.
Alors pour info , je suis sous windows, en local et l'url exacte est :
http://localhost/toto.test.com/
===>
http://localhost/www.test.com/test.php?id=toto
et j'ai un vrai repertoire sur le disque "www.test.com" a la racine de www
par contre tu as mis ca :
<VirtualHost tonip>
ServerName user.exemple.com
mais je souhaite justement que ma regle remplace ca , car j'ai pas envie de creer ces lignes a chaque inscription de membres et d'avoir d'adhérence sur le serveur.
voila tu sais tout. merci d'avance.
car je ne t'avais pas dit que je fonctionnais en local, car je prépare un peu mon site en fonction de ca.
Alors pour info , je suis sous windows, en local et l'url exacte est :
http://localhost/toto.test.com/
===>
http://localhost/www.test.com/test.php?id=toto
et j'ai un vrai repertoire sur le disque "www.test.com" a la racine de www
par contre tu as mis ca :
<VirtualHost tonip>
ServerName user.exemple.com
mais je souhaite justement que ma regle remplace ca , car j'ai pas envie de creer ces lignes a chaque inscription de membres et d'avoir d'adhérence sur le serveur.
voila tu sais tout. merci d'avance.
Le "ServerName user.exemple.com" est obligatoire, car chaque virtual host doit avoir un servername, mais, dans ce cas, repondra à tout les sous domaines correspondant à la regle.
Tu es en local, et sous windows...
Ce que tu veux faire c'est des sous domaines, l'url http://localhost/toto.test.com/ n'est pas un sous domaine, mais un répertoire.
Si tu veux faire des tests, il va falloir ruser. En gros faire croire a windows que l’adresse toto.exemple.com corresponds a l’ip te ta machine.
Pour cela ouvre ton fichier C:\windows\system32\drivers\etc\hosts et rajoute les lignes suivantes
127.0.0.1 www.exemple.com
127.0.0.1 toto.exemple.com
Cela peut paraître complexe, mais c’est la façon la plus simple de tromper le dns de windows. Et ne t’inquiètes pas, sur ton serveur de prod l’entré dns * feras ça pour toi.
J’oubliais, tu dois aussi ajouter la condition suivante
RewriteCond %{HTTP_HOST} !^www.exemple\.com$ [NC]
Pour que le sous domaine www, ne soit pas traité en tant que user.
Ainsi que la ligne
NameVirtualHost 127.0.0.1
dans ton httpd.conf, pour indiquer à apache sur quel ip il doit gerer les virtualhost
Je viens de tester ça en local, tout fonctionne…
Apres, pour ce que tu veux faire, la solution que je te propose est peut-être une usine à gaz.
Si tu veux seulement afficher une page par sous domaine, la solution de Mitirapa est la plus adaptée.
Tu es en local, et sous windows...
Ce que tu veux faire c'est des sous domaines, l'url http://localhost/toto.test.com/ n'est pas un sous domaine, mais un répertoire.
Si tu veux faire des tests, il va falloir ruser. En gros faire croire a windows que l’adresse toto.exemple.com corresponds a l’ip te ta machine.
Pour cela ouvre ton fichier C:\windows\system32\drivers\etc\hosts et rajoute les lignes suivantes
127.0.0.1 www.exemple.com
127.0.0.1 toto.exemple.com
Cela peut paraître complexe, mais c’est la façon la plus simple de tromper le dns de windows. Et ne t’inquiètes pas, sur ton serveur de prod l’entré dns * feras ça pour toi.
J’oubliais, tu dois aussi ajouter la condition suivante
RewriteCond %{HTTP_HOST} !^www.exemple\.com$ [NC]
Pour que le sous domaine www, ne soit pas traité en tant que user.
Ainsi que la ligne
NameVirtualHost 127.0.0.1
dans ton httpd.conf, pour indiquer à apache sur quel ip il doit gerer les virtualhost
Je viens de tester ça en local, tout fonctionne…
Apres, pour ce que tu veux faire, la solution que je te propose est peut-être une usine à gaz.
Si tu veux seulement afficher une page par sous domaine, la solution de Mitirapa est la plus adaptée.
merci beaucoup thepsy , et desole du retard car j'etais en vacances.
bon j'ai pas mal chercher et j'ai trouve la soluce
RewriteCond %{HTTP_HOST} !^www\.site\.fr$
RewriteCond %{HTTP_HOST} ^(.*)\.site\.fr$
RewriteRule ^/$ http://www.site.fr/page.php?id=%1 [P,L]
merci beaucoup a tous
bon j'ai pas mal chercher et j'ai trouve la soluce
RewriteCond %{HTTP_HOST} !^www\.site\.fr$
RewriteCond %{HTTP_HOST} ^(.*)\.site\.fr$
RewriteRule ^/$ http://www.site.fr/page.php?id=%1 [P,L]
merci beaucoup a tous
11 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Comment éviter de se faire voler son nom de domaine...
- WebRankInfo lance un forum sur les noms de domaine
- Noms de domaine : Google se lance dans le marché
- Changements de nom de domaine et TrustRank
- Yahoo poursuit les propriétaires de 1763 noms de domaine
- Utilisation des données WHOIS par Google
- Google rachète Applied Semantics
- Domaine favori - URL canonique
- Comment éviter les contenus dupliqués (avec/sans le www)
- Trouver son checksum Google avec la toolbar (barre d'outils)
Consultez la description détaillée des produits ou services de Google suivants : Google Apps for your Domain, Google Apps Edition Premium
- Les sous-domaines d'un site
Cet outil vous permet de trouver la liste des sous-domaines (indexés) d'un site.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

le forum