Ta lecture du code est erronée. DR_RC_PATH est fixée en priorité si une variable serveur DC_RC_PATH est présente, et en cas d'absence une variable serveur REDIRECT_DC_RC_PATH et, l'absence de ces 2 variables d'environnement, par la valeur par défaut présente dans inc/prepend.php
Je te déconseille fortement de fixer des valeurs REDIRECT_XXX depuis tes fichiers de configuration Apache (.htaccess compris) pour la simple et bonne raison que ce préfixe REDIRECT_ est généralement rajouté dans l'arrière-boutique par le serveur, suivant sa configuration (rewrite, proxy, fastcgi ou non, etc.). -----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:37 À : dev@list.dotclear.org Objet : Re: [Dotclear Dev] REDIRECT_DC_RC_PATH J'aurais rien contre mais apres lecture du code, ca m'est impossible. Je souligne que l'idee est de n'avoir a bidouiller aucun fichier venant de Dotclear et d'externaliser tout ce qui est config et tout le tsoin-tsoin. Pour modifier la valeur DC_RC_PATH, il faudrait que je la change directement dans le fichier `prepend.php` ce qui va a l'encontre de ce que je cherche. Je pourrais modifier la valeur DC_RC_PATH directement dans mon fichier index.php a moi mais ca ne marcherait que pour la partie public, pas pour la partie admin. Au final, Dotclear semble simplement assigner DC_RC_PATH avec REDIRECT_DC_RC_PATH si la valeur existe, et apres recherche REDIRECT_DC_RC_PATH ne semble qu'a ce genre de cas, donc pas de bobo a premiere vue si tous les fichiers l'utilisant recoivent la meme update. 2013/9/1 Pep <p...@callmepep.org> > Bonjour, > > Tu devrais déjà essayer de jouer avec une valeur DC_RC_PATH et non > REDIRECT_DC_RC_PATH. > Tu limiteras les risques de mauvaises surprises. > > > -----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