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

5 réponses

1 2
Avatar
Kevin Hinault
Le 24 septembre 2009 11:51, Grégory Bulot
a écrit :
Grégory Bulot à écrit le Thu, 24 Se p
2009 09:23:38 +0200
RedirectMatch ^(.*)$ /2009/$1/www/ [L]

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



C'est justement pour éviter ca que j'avais mis deux lignes, la
première permettant de sortir de la boucle quand l'on utilise une url
2009/quelquechose ( grâce au [L] ). Enfin après c'était de tête san s
avoir testé, il est possible que la réécriture d'url ne repasse pas
par les règles.

--
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 Thu, 24 Sep 2009 11: 58:01
+0200

> RedirectMatch ^(.*)$ /2009/$1/www/ [L]
>
> J'ai une boucle infini (après coup en regardant la syntaxe, c'est
> évident ....)

C'est justement pour éviter ca que j'avais mis deux lignes, la
première permettant de sortir de la boucle quand l'on utilise une url
2009/quelquechose ( grâce au [L] ). Enfin après c'était de tête sans
avoir testé, il est possible que la réécriture d'url ne re passe pas
par les règles.




oui, j'ai regardé la signification du flag L, j'ai inversé vos r ègles
sans trop réfléchir aux conséquences, mais cela n'avais rien changé

je vais faire des tests en transférant dans un .htaccess, histoire
d'éviter de relancer apache : j'ai d'autres sites (virtualhost) qui
tournent qui sont impacté par un restart d'apache.

--
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 12:07:50 +0200
Kevin Hinault à écrit le Thu, 24 Sep 2009 1 1:58:01
+0200





je vais faire des tests en transférant dans un .htaccess, histoire
d'éviter de relancer apache : j'ai d'autres sites (virtualhost) qui
tournent qui sont impacté par un restart d'apache.



1) en transférant vos regles proposé dans le htacces j'ai ceci :

Request exceeded the limit of 10 internal redirects due to probable
configuration error. Use 'LimitInternalRecursion' to increase the limit
if necessary. Use 'LogLevel debug' to get a backtrace

Et forcement une erreur 500 via le navigateur

si je monte le LimitInternalRecursion à 20, j'ai le même message avec
10 remplacé par 20.

2) si je remplace vos règles par cette règle (stupide ?)
rewriteRule ^(greg/.*) 2009/gregory/www/ [L]
et que je tape joomla.toto.com/greg

File does not exist: /var/www/SitesVirtuels/Joomla/greg

par contre si je fais joomla.toto.com/greg/toto j'ai accès au
site mais la redirection n'est pas transparente (on voit
joomla.toto.com/gregory/ au lieu de joomla.toto.com/greg


--
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


rewriteRule ^(greg/.*) 2009/gregory/www/ [L]
File does not exist: /var/www/SitesVirtuels/Joomla/greg



normal ma règle était incomplète pour un cas particulier : l e slash
final : rewriteRule ^(greg) 2009/gregory/www/ [L] est mieux


par contre si je fais joomla.toto.com/greg/toto j'ai accès au
site mais la redirection n'est pas transparente (on voit
joomla.toto.com/gregory/ au lieu de joomla.toto.com/greg



cela persiste toujours

--
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
Le Thu, 24 Sep 2009 14:32:59 +0200,
Kevin Hinault a écrit :


En effet, j'ai pris en compte la redondance à la racine mais pas ce
qui vient après /www/ donc à moins de trouver la bonne règ le qui
empêche le match de ce qui vient après alors ca ne marchera pas.

L'autre possibilité est de mettre un format d'alias particulier pour
limiter les règles (détrompeur).



RewriteRule ^=(.*)$ 2009/$1/www/ [N]
Mais tu vas vite retomber sur des problèmes de chemins dynamiques.
(comme avec la première solution)

Du coup ma solution est surement non viable à long terme.

As tu simplement essayé de mettre des liens symboliques à ta ra cine ?
Ce n'est pas très dynamique mais ca fonctionne unitairement.




effectivement, les liens symboliques fonctionnent mieux car en plus il
n'engendre pas des traitements supplémentaires à apache (déj à que joomla
consomme pas mal pour convertir les urls en "URLs explicites (réglage
d'optimisation des moteurs de recherche) "



--
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