Lenny / apache2 / VirtualDocumentRoot / sous domaine + directory niveau 1 par applis

Le
Grégory Bulot
Bonjour,



je souhaiterais que dans un virtualhost existant, pouvoir changer le
document_root de façon dynamique selon le premier paramètre donner
après le domaine.

example : http://joomla.toto.com/site1/[specifique joomla]
(ce qui serait du /var/www/SitesVirtuels/Joomla/2009/site1/www )


Avez vous une idée ? de préférence dans la conf du vhost plu=
tôt
qu'en .htaccess


==
==

= Compléments d'infos
==
==



Actuellement je n'ai qu'un seul site qui répond a cette url :
> http://joomla.toto.com/[specifique joomla]

visuellement cela parait simple, sauf que pour ce qui suis, je suis pas
sur d'être explicite . (si je l'étais je n'aurais ptet pas pos=
é la
question car j'aurais trouvé la réponse .)


le sous domaine commence dans /var/www/SitesVirtuels/Joomla/www dans la
conf du sous domaine (conf existante gérant une ancienne méthode
transitoire fonctionnelle, mais sans "sous-sites dans le domaine") :

NameVirtualHost *:80
<VirtualHost *:80>
AddDefaultCharset ISO-8859-15
ServerAdmin webmaster@toto.com
ServerName joomla.toto.com
DocumentRoot /var/www/SitesVirtuels/Joomla/www
<Directory /var/www/SitesVirtuels/Joomla>
# histoire de proposer un site par défaut,
RedirectMatch ^/$ /greg/
</Directory>

.
</Virtualhost>

Note : bêtement je croyais qu'un
VirtualDocumentRoot /var/www/SitesVirtuels/Joomla/2009/%3/www
remplacerait %3 par site1, mais cela reste à "com"
(cf 2ème exemple de
http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#examples)




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Kevin Hinault
Le #20211601
Le 23 septembre 2009 17:19, Grégory Bulot
je souhaiterais que dans un virtualhost existant, pouvoir changer le
document_root de façon dynamique selon le premier paramètre donner
après le domaine.

example : http://joomla.toto.com/site1/[specifique joomla]
(ce qui serait du /var/www/SitesVirtuels/Joomla/2009/site1/www )



A première vue je te conseillerais d'utiliser les RewriteRule :

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

--
Kévin

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Grégory Bulot
Le #20212081
Kevin Hinault +0200


A première vue je te conseillerais d'utiliser les RewriteRule :

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html



N'est-ce pas réservé à la réécriture d'url ?
RewriteRule ^/(.*)/$ /var/www/SitesVirtuels/Joomla/2009/$1/www/*
n'est pas matché

je suis plutôt dans faire correspondre une url à un chemin syst ème.
car ceci fonctionne en test unitaire

alias /greg /var/www/SitesVirtuels/Joomla/2009/greg/www
alias /demo /var/www/SitesVirtuels/Joomla/2009/demo/www

c'est fastidieux (ou trop dur pour un fainéant comme moi), dans mon
langage c'est un truc de ce genre que je cherche
Alias /%1 /var/www/SitesVirtuels/Joomla/2009/%1/www


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Kevin Hinault
Le #20212241
Le 23 septembre 2009 18:05, Grégory Bulot
Kevin Hinault +0200


A première vue je te conseillerais d'utiliser les RewriteRule :

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html



N'est-ce pas réservé à la réécriture d'url ?
 RewriteRule ^/(.*)/$  /var/www/SitesVirtuels/Joomla/2009/$1/www/*
n'est pas matché

je suis plutôt dans faire correspondre une url à un chemin système.
car ceci fonctionne en test unitaire

       alias /greg     /var/www/SitesVirtuels/Joomla/2009/gre g/www
       alias /demo     /var/www/SitesVirtuels/Joomla/2009/dem o/www

c'est fastidieux (ou trop dur pour un fainéant comme moi), dans mon
langage c'est un truc de ce genre que je cherche
       Alias /%1       /var/www/SitesVirtuels/Joomla/2009/% 1/www



En fait je prend le problème dans l'autre sens :

Si tu mets /var/www/SitesVirtuels/Joomla/ comme root de ton
virtualhost tu pourras accéder à chacun depuis :
http://joomla.toto.com/site1/2009/site1/www/ (site1 étant le morceaux dyn amique)

Du coup tu n'as plus qu'à réécrire l'url
http://www.toto.com/site1 en http://joomla.toto.com/2009/site1/www/

La réécriture est silencieuse et ne se voit pas côté client donc le s
gens croiront voir http://joomla.toto.com/site1,
http://joomla.toto.com/site2, etc...

De tête ca va donner un truc comme ça :
RewriteRule ^(2009/.*) $1 [L]
RewriteRule ^(.*)$ 2009/$1/www/ [L]

--
Kévin
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org
http://identi.ca/khi - http://twitter.com/kh_i - http://system-linux.eu
Nick IRC : KevinH sur irc.mozilla.org - irc.debian.org - irc.freenode.net

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Kevin Hinault
Le #20212231
Le 23 septembre 2009 18:22, Kevin Hinault




Correction :

Si tu mets /var/www/SitesVirtuels/Joomla/ comme root de ton
virtualhost tu pourras accéder à chacun depuis :
http://joomla.toto.com/2009/site1/www/ (site1 étant le morceaux dynamique )


--
Kévin
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org
http://identi.ca/khi - http://twitter.com/kh_i - http://system-linux.eu
Nick IRC : KevinH sur irc.mozilla.org - irc.debian.org - irc.freenode.net

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Grégory Bulot
Le #20212701
Kevin Hinault +0200
Le 23 septembre 2009 18:22, Kevin Hinault écrit :



effectivement ont approche quelque chose d'intéressant, mais c'est du
404 dans le error.log :
File does not exist: /var/www/SitesVirtuels/Joomla/toto
pour une requête du genre http://joomla.toto.com/toto

J'image que les rewriterule ne sont pas pris en compte, car
http://joomla.toto.com/2009/toto/www/ m'affiche bien une page


NameVirtualHost *:80
<VirtualHost *:80>

DocumentRoot /var/www/SitesVirtuels/Joomla/
<Directory /var/www/SitesVirtuels/Joomla>
RedirectMatch ^/$ /gregory/
RewriteRule ^(2009/.*) $1/www/ [L]
RewriteRule ^(.*)$ 2009/$1/www/ [L]
</Directory>

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Kevin Hinault
Le #20212761
Le 23 septembre 2009 19:01, Grégory Bulot
J'image que les rewriterule ne sont pas pris en compte, car
 http://joomla.toto.com/2009/toto/www/ m'affiche bien une page




Tu as activé le module mod_rewrite ?

--
Kévin

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Frédéric MASSOT
Le #20214121
Grégory Bulot a écrit :
Bonjour,

je souhaiterais que dans un virtualhost existant, pouvoir changer le
document_root de façon dynamique selon le premier paramètre donner
après le domaine.

example : http://joomla.toto.com/site1/[specifique joomla]
(ce qui serait du /var/www/SitesVirtuels/Joomla/2009/site1/www )



Tu ne veux pas faire du "mass virtual hosting" ?

Regarde le paquet libapache2-mod-vhost-hash-alias

Et la doc : http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Grégory Bulot
Le #20215441
Kevin Hinault +0200


Tu as activé le module mod_rewrite ?



oui
stat --format='%N' /etc/apache2/mods-enabled/rewrite.load
`/etc/apache2/mods-enabled/rewrite.load' ->
`../mods-available/rewrite.load'


j'ai des htaccess qui sont pris en compte (wordpress mu, joomla 1.0.x
notamment)

de plus la régle 'RedirectMatch ^/$ /gregory/' est prise en compte

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Grégory Bulot
Le #20215431
Frédéric MASSOT Sep 2009 23:23:45 +0200


Tu ne veux pas faire du "mass virtual hosting" ?

Regarde le paquet libapache2-mod-vhost-hash-alias

Et la doc : http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html



ça doit être cela, dans mon 1er post je spécifiais justement cette url,
et plus précisément :
http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#examples

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Grégory Bulot
Le #20216791
Grégory Bulot 2009 09:23:38 +0200

Pour voir, j'ai tenté ceci avant les rewriterule


RedirectMatch ^(.*)$ /2009/$1/www/ [L]

J'ai une boucle infini (après coup en regardant la syntaxe, c'est
évident ....)

Si ça peut aider .....

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Publicité
Poster une réponse
Anonyme