Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

15 réponses
Avatar
Grégory Bulot
Bonjour,=20



je souhaiterais que dans un virtualhost existant, pouvoir changer le
document_root de fa=C3=A7on dynamique selon le premier param=C3=A8tre donner
apr=C3=A8s 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=C3=A9e ? de pr=C3=A9f=C3=A9rence dans la conf du vhost plu=
t=C3=B4t
qu'en .htaccess=20


=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
=3D Compl=C3=A9ments d'infos
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D


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

visuellement cela parait simple, sauf que pour ce qui suis, je suis pas
sur d'=C3=AAtre explicite .... (si je l'=C3=A9tais je n'aurais ptet pas pos=
=C3=A9 la
question car j'aurais trouv=C3=A9 la r=C3=A9ponse ....)


le sous domaine commence dans /var/www/SitesVirtuels/Joomla/www dans la
conf du sous domaine (conf existante g=C3=A9rant une ancienne m=C3=A9thode
transitoire fonctionnelle, mais sans "sous-sites dans le domaine") :
=20
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=C3=A9faut,
RedirectMatch ^/$ /greg/
</Directory>

....
</Virtualhost>

Note : b=C3=AAtement je croyais qu'un=20
VirtualDocumentRoot /var/www/SitesVirtuels/Joomla/2009/%3/www
remplacerait %3 par site1, mais cela reste =C3=A0 "com"
(cf 2=C3=A8me 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

10 réponses

1 2
Avatar
Kevin Hinault
Le 23 septembre 2009 17:19, Grégory Bulot
a écrit :
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
Avatar
Grégory Bulot
Kevin Hinault à écrit le Wed, 23 Sep 2009 17: 33:31
+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
Avatar
Kevin Hinault
Le 23 septembre 2009 18:05, Grégory Bulot
a écrit :
Kevin Hinault à écrit le Wed, 23 Sep 2009 17:33:3 1
+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/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">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
Avatar
Kevin Hinault
Le 23 septembre 2009 18:22, Kevin Hinault a écrit :




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
Avatar
Grégory Bulot
Kevin Hinault à écrit le Wed, 23 Sep 2009 18: 23:14
+0200
Le 23 septembre 2009 18:22, Kevin Hinault a
é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
Avatar
Kevin Hinault
Le 23 septembre 2009 19:01, Grégory Bulot
a écrit :
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
Avatar
Frédéric MASSOT
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
Avatar
Grégory Bulot
Kevin Hinault à écrit le Wed, 23 Sep 2009 19: 13:18
+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
Avatar
Grégory Bulot
Frédéric MASSOT à écr it le Wed, 23
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
Avatar
Grégory Bulot
Grégory Bulot à écrit le Thu , 24 Sep
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
1 2