Houla oui, ca fait peur le mot "vhost dynamique". J'ai deja eu mal a la
tete a en configurer des statiques :P

Mais. heu... en fait le truc c'est que ca marche en faisant une toute modif
dans le core, donc grosso modo ma question c'etait de savoir si ca vous
semblait acceptable comme modif sachant que ca ne semble ajouter qu'une
option en plus sans rien casser de ce qui existe ?

Je remet le code corrige pour prepend.php la :

if (isset($_SERVER['DC_RC_PATH']) && is_file($_SERVER['DC_RC_PATH'])) {
    define('DC_RC_PATH',$_SERVER['DC_RC_PATH']);
} elseif (isset($_SERVER['DC_RC_PATH']) &&
is_file($_SERVER['DOCUMENT_ROOT'].$_SERVER['DC_RC_PATH'])) {
    define('DC_RC_PATH',$_SERVER['DOCUMENT_ROOT'].$_SERVER['DC_RC_PATH']);
} elseif (isset($_SERVER['REDIRECT_DC_RC_PATH']) &&
is_file($_SERVER['REDIRECT_DC_RC_PATH'])) {
    define('DC_RC_PATH',$_SERVER['REDIRECT_DC_RC_PATH']);
} elseif (isset($_SERVER['REDIRECT_DC_RC_PATH']) &&
is_file($_SERVER['DOCUMENT_ROOT'].$_SERVER['REDIRECT_DC_RC_PATH'])) {

define('DC_RC_PATH',$_SERVER['DOCUMENT_ROOT'].$_SERVER['REDIRECT_DC_RC_PATH']);
} else {
    define('DC_RC_PATH',dirname(__FILE__).'/config.php');
}

Et apres, c'est vrai qu'il y aurait plusieurs fichiers a modifier, mais ca
ne serait que des copiers/collers de ce code-la a priori.
Sinon tant pis mais ca serait la blase alors que la solution est assez
simple : "si le fichier existe c'est cool, sinon regarde si il existe
relativement au document root".



2013/9/1 Pep <p...@callmepep.org>

> Il n'y a pas vraiment de solutions miracles pour ce que tu souhaites faire.
> Soit tu saisis explicitement le chemin absolu vers ton document root dans
> ta
> clause SetEnv, soit tu envisages les vhosts dynamiques (avec une bonne
> séance de lecture de la documentation Apache2 à ce sujet et une ou deux
> boites d'ibuprofène...).
>
> :-)
>
>
> -----Message d'origine-----
> De : dev-boun...@list.dotclear.org [mailto:dev-boun...@list.dotclear.org]
> De
> la part de Christopher Crouzet
> Envoyé : dimanche 1 septembre 2013 14:59
> À : dev@list.dotclear.org
> Objet : Re: [Dotclear Dev] REDIRECT_DC_RC_PATH
>
> Autant pour moi, tu as raison, j'ai completement zappe la premiere ligne
> `isset($_SERVER['DC_RC_PATH'])`.
> Du coup j'ai fait la modif dans mon .htaccess mais bon, ca ne change rien a
> mon probleme a priori.
>
> Et tu as raison aussi en disant que ca n'a rien de relatif ce que j'ai mis
> dans le .htaccess, j'avais tire ca d'une reponse sur StackOverflow mais
> c'etait dans un autre contexte precis.
> Ceci dit j'arrive toujours pas a faire un truc du genre `SetEnv DC_RC_PATH
> %{DOCUMENT_ROOT}/config.php`, et pour l'instant il faut absolument que je
> passe par la modif de prepend.php si je veux que ca marche.
> Je ne suis pas sur de comprendre ce que tu entends par limitations
> rencontrees, mais a priori je ne devrais pas avoir de probleme de
> permissions ou autre vu que je suis en local.
>
>
> Merci pour ton aide !
>
>
> 2013/9/1 Pep <p...@callmepep.org>
>
> > Pour continuer là-dessus, le chemin que tu mentionnes dans les
> > configurations Apache pour ce genre de variables n'est en rien relatif
> > au "document root", mais en absolu sur le fs.
> >
> > Les seules limitations rencontrées sont alors les droits en lecture
> > sur ce fichier et/ou les éventuelles restrictions de répertoires dans
> > ta configuration PHP (open_basedir par exemple).
> >
> >
> > -----Message d'origine-----
> > De : dev-boun...@list.dotclear.org
> > [mailto:dev-boun...@list.dotclear.org]
> > De
> > la part de Christopher Crouzet
> > Envoyé : dimanche 1 septembre 2013 14:27 À : dev@list.dotclear.org
> > Objet : [Dotclear Dev] REDIRECT_DC_RC_PATH
> >
> > Hello!
> >
> >
> > Est-ce que quelqu'un s'est deja servi de cette variable ?
> >
> > Mon but serait de mettre le dossier `dotclear` quelque part sous mon
> > www/ et de faire en sorte de le laisser intact, comme un vrai clone de
> > ce qu'il y a sur le repo mercurial.
> >
> > C'est facile de definir de nouveaux chemins externes de plugins et
> > cache grace a `DC_PLUGINS_ROOT` et `DC_TPL_CACHE`, ainsi que les
> > chemins public et themes directement dans l'admin de Dotclear, mais
> > par contre pour le `config.php`, c'est moins evident.
> >
> > J'ai vu que la variable `$_SERVER['REDIRECT_DC_RC_PATH']` semblait
> > justement faire ca, donc je suis alle voir mon fichier .htaccess et y
> > ai rajoute :
> > SetEnv REDIRECT_DC_RC_PATH /config.php
> >
> > Le truc c'est qu'ensuite Dotclear va faire un `require` la-dessus, et
> > donc ca va marcher seulement si le fichier .php qui est appele se
> > trouve sur le document root. Donc ca marche bien quand on ouvre le
> > fichier `index.php`du blog, mais ca ne marche plus quand on essaye
> d'ouvrir l'admin.
> >
> > Il y a 2 solutions :
> > - soit je me demerde dans le .htaccess a faire un truc du genre
> > `SetEnv REDIRECT_DC_RC_PATH %{DOCUMENT_ROOT}/config.php`, mais non
> > seulement ca me semble etre un peu du hack parceque `/config.php`
> > devrait justement deja representer un chemin relatif depuis le root,
> > mais surtout j'arrive pas a le faire marcher... la valeur
> > %{DOCUMENT_ROOT} (et une autre infinite de variations que j'ai teste)
> > ne sont pas converties en chemin, et PHP recoit le string
> > %{DOCUMENT_ROOT} tel quel.
> > - soit dans le code de Dotclear on rajoute manuellement le
> > DocumentRoot, ce qui me semble etre mieux. Et pour pas casser l'ancien
> > comportement, le fichier prepend.php serait modifie dans ce genre la :
> >
> > if (isset($_SERVER['DC_RC_PATH'])) {
> >   define('DC_RC_PATH',$_SERVER['DC_RC_PATH']);
> > } elseif (isset($_SERVER['REDIRECT_DC_RC_PATH']) &&
> > isfile($_SERVER['REDIRECT_DC_RC_PATH'])) {
> >   define('DC_RC_PATH',$_SERVER['REDIRECT_DC_RC_PATH']);
> > } elseif (isset($_SERVER['REDIRECT_DC_RC_PATH']) &&
> > isfile($_SERVER['DOCUMENT_ROOT'].$_SERVER['REDIRECT_DC_RC_PATH'])) {
> >   define('DC_RC_PATH',$_SERVER['DOCUMENT_ROOT'] .
> > $_SERVER['REDIRECT_DC_RC_PATH']);
> > } else {
> >   define('DC_RC_PATH',dirname(__FILE__).'/config.php');
> > }
> >
> >
> > Des avis ?
> > Christopher.
> > --
> > Dev mailing list - Dev@list.dotclear.org -
> > http://ml.dotclear.org/listinfo/dev
> >
> >
> >
> > --
> > Dev mailing list - Dev@list.dotclear.org -
> > http://ml.dotclear.org/listinfo/dev
> >
> --
> Dev mailing list - Dev@list.dotclear.org -
> http://ml.dotclear.org/listinfo/dev
>
>
>
> --
> Dev mailing list - Dev@list.dotclear.org -
> http://ml.dotclear.org/listinfo/dev
>
-- 
Dev mailing list - Dev@list.dotclear.org - http://ml.dotclear.org/listinfo/dev

Répondre à