|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
iometrine Nouveau WRInaute
Inscrit le: 16 Nov 2006 Messages: 5
|
|
| |
|
 |
Mitirapa WRInaute accro

Inscrit le: 10 Juil 2002 Messages: 1653 Localisation: Brest
|
Posté le : Jeu Nov 16, 2006 12:01 Sujet du message: simuler un sous domaine url rewritting |
|
|
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... |
|
| |
|
 |
nickargall WRInaute accro

Inscrit le: 13 Juin 2005 Messages: 3919 Localisation: Exilé au Groland à cause de Joe Dalton
|
Posté le : Jeu Nov 16, 2006 12:45 Sujet du message: simuler un sous domaine url rewritting |
|
|
| 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. |
|
| |
|
 |
iometrine Nouveau WRInaute
Inscrit le: 16 Nov 2006 Messages: 5
|
Posté le : Jeu Nov 16, 2006 14:01 Sujet du message: simuler un sous domaine url rewritting |
|
|
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 |
|
| |
|
 |
Mitirapa WRInaute accro

Inscrit le: 10 Juil 2002 Messages: 1653 Localisation: Brest
|
Posté le : Jeu Nov 16, 2006 14:50 Sujet du message: simuler un sous domaine url rewritting |
|
|
| 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 |
|
| |
|
 |
thepsy Nouveau WRInaute
Inscrit le: 16 Nov 2006 Messages: 4
|
Posté le : Jeu Nov 16, 2006 17:13 Sujet du message: simuler un sous domaine url rewritting |
|
|
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 |
|
| |
|
 |
iometrine Nouveau WRInaute
Inscrit le: 16 Nov 2006 Messages: 5
|
Posté le : Jeu Nov 16, 2006 21:43 Sujet du message: simuler un sous domaine url rewritting |
|
|
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 |
|
| |
|
 |
thepsy Nouveau WRInaute
Inscrit le: 16 Nov 2006 Messages: 4
|
Posté le : Ven Nov 17, 2006 0:36 Sujet du message: simuler un sous domaine url rewritting |
|
|
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 |
|
| |
|
 |
iometrine Nouveau WRInaute
Inscrit le: 16 Nov 2006 Messages: 5
|
Posté le : Ven Nov 17, 2006 8:22 Sujet du message: simuler un sous domaine url rewritting |
|
|
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.  |
|
| |
|
 |
thepsy Nouveau WRInaute
Inscrit le: 16 Nov 2006 Messages: 4
|
Posté le : Ven Nov 17, 2006 10:31 Sujet du message: simuler un sous domaine url rewritting |
|
|
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. |
|
| |
|
 |
iometrine Nouveau WRInaute
Inscrit le: 16 Nov 2006 Messages: 5
|
Posté le : Ven Déc 15, 2006 19:21 Sujet du message: simuler un sous domaine url rewritting |
|
|
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 |
|
| |
|
 |
| |
|
|