Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] basePath différent pour une même application

Posted by YvesTan on 05/05/2015 09:47

Bonjour à tous,

J'ai une application "rdva" qui est accessible par 2 urls différentes :

http://example.tld/2015/fr/rdva/

et

http://example.tld/other/fr/rdva/

Je n'ai donc rien mis dans basePath mais il semble que le fichier de configuration ne soit pas recompilé à chaque fois. Ce qui fais que l'application ne fonctionne pas simultanément sur les 2 urls.

Est-il possible de modifier ce comportement ?

Merci d'avance

  [Opened] basePath différent pour une même application

Reply #1 Posted by laurentj on 05/06/2015 15:03

Bonjour,

oui les fichiers ne sont pas recompilés.

Et un fichier de configuration compilé ne peut pas être partagé par deux sites différents, étant donné qu'il contient des informations de chemins et autre propre à l'url.

Première solution : essayer en forçant le basePath dont le chemin est commun au deux URL. dans l'exemple que tu donnes, cela donnera alors basePath="/".

Deuxième solution : dans le application.init.php, tester le début du _SERVER["REQUEST_URI"] et spécifier un "environnement" différent pour chaque valeur que vous trouvez.

Dans l'exemple donné, seule le premier composant du chemin change, on peut donc l'utiliser pour définir un environnement différent

jApp::initPaths(...);

$env = explode('/', $_SERVER["REQUEST_URI"]);
// -> $env = array('', '2015', 'fr', 'rdva');
jApp::setEnv('www_'.$env[1]);

Chaque environnement ayant son propre sous-repertoire temp, pas de partage des fichiers temp.

PS: comme tu le vois avec ce problème, c'est une mauvaise idée d'avoir une même installation d'application qui soit accessible via des urls différentes. Cela va certainement poser d'autres problèmes, comme avec les cookies de sessions etc...

  [Opened] basePath différent pour une même application

Reply #2 Posted by YvesTan on 05/07/2015 17:25

Bonjour,

Merci pour ta réponse.

En forcant le basePath, ça ne fonctionnait pas.

Entre temps, j'ai fais le bourrin en ajoutant dans le point d'entrée une globale perso avec le bon basePath (et urlscriptPath + tout ce qui doit changer) que je checke ensuite dans jConfig. On va dire que ça fonctionne mais que ce n'est pas très propre puisque pas de fichier de conf compilé et modification du core.

Ceci étant, comment faire proprement pour qu'un même "programme" soit accessible sur plusieurs URL ?

Merci

  [Opened] basePath différent pour une même application

Reply #3 Posted by laurentj on 05/08/2015 18:09

comment faire proprement pour qu'un même "programme" soit accessible sur plusieurs URL ?

utiliser la deuxième solution

  [Opened] basePath différent pour une même application

Reply #4 Posted by YvesTan on 06/30/2015 16:54

Avec un peu de délai : merci pour la précision ;)

 
Page
  1. basePath différent pour une même application