Re: [microclub-web] Toues les URL ne sont pas egales...
Yves Masur wrote: Après un dur labeur, j'ai une solution PHP. [...] Sur mon PC, en local, ça fonctionne aussi ;-) Yep, pas mal. Apres avoir envoye mon mail, j'ai pense qu'il serait aussi possible d'utiliser mod_rewrite pour setter une variable dont la valeur est differentes en fonction du cas (www.microclub.ch/~ymasur/... ou yves.masur.microclub.ch/...). Dans le premier cas on aurait: $PREFIX = "/~ymasur" Dans le deuxieme: $PREFIX = "" Ainsi tu pourrais ecrire les liens comme: Et la valeur de $PREFIX est definie dans le httpd.conf avec: RewriteRule ^(.*)$ $1 [T=application/x-httpd-php3,L,E=PREFIX:/~ymasur] Et on aurait deux de ces RewriteRule dans httpd.conf, une dans le VirtualHost de www.microclub.ch, et une dans le VirtualHost de yves.masur.microclub.ch. Alex ___ microclub-web mailing list [EMAIL PROTECTED] http://lists.alphanet.ch/mailman/listinfo/microclub-web
Re: [microclub-web] Toues les URL ne sont pas egales...
Après un dur labeur, j'ai une solution PHP. Malheureusement, parmi la miriades de variables $_SERVER[], il n'y en pas une qui contient les infos nécessaires... on est obligés de prendre SCRIPT_FILENAME, et de reculer tant que SCRIPT_NAME est pareil. Cette partie est le HOME du script en question (contrairement à DOCUMENT_ROOT). Pour une liste détaillé des variables dans les 3 URL possibles, voir: http://yves.masur.microclub.ch/test/php/Variables_PHP_selon_URL.html Ce tableau m'a pris un temps monstrueux à dresser et à étudier, parce que chaque URL à une liste de variables différentes... // 2 lines to compute the real root of the script $sn = strrev($_SERVER["SCRIPT_NAME"]); $sf = strrev($_SERVER["SCRIPT_FILENAME"]); $i=0; while ($sn[$i]===$sf[$i]) $i++; $HOME = strrev(substr($sf, $i)); On ajoute donc ces deux lignes dans les pages ou le scripts. Ensuite, on utilise $HOME comme préfixe à toute ouverture de fichier:, par exemple: require($HOME."/php/make_clickable.php"); Pour le vérifier: http://www.microclub.ch/~ymasur/test/php/test_root_read.php Ou, ce qui revient au même: http://yves.masur.microclub.ch/test/php/test_root_read.php Sur mon PC, en local, ça fonctionne aussi ;-) Bye, //Yves Alessandro Vernet a écrit: Alessandro Vernet wrote: Avec de simples fichiers HTML/PHP, je ne crois pas qu'il y ait de solution miracle: si tu veux que les meme fichiers puissent etre accedes depuis www.microclub.ch/~ymasur/... et yves.masur.microclub.ch/... il te faut partout utiliser les URL relatives (en particulier ici pour referencer php/FileBrowser/treeOfFiles.php). PS: Avec OXF justement, vu que nous en discutions l'autre jour, tu pourrais partout avoir des URL qui commencent par "/", comme si ton site etait deploye a la racine (le cas yves.masur.microclub.ch/...). Dans le cas ou ton site n'est pas deploye a la racine (le cas www.microclub.ch/~yasmur/...), OXF prefixe automatiquement toutes des URL par "~ymasur" avant d'envoyer le HTML au browser. Tu peux facilement faire ce genre de choses si le serveur te laisse definir des "traitements" a appliquer a toutes les pages de ton site (comme c'est le cas dans OXF), ce qui ne peut etre fait simplement en PHP. Alex ___ microclub-web mailing list [EMAIL PROTECTED] http://lists.alphanet.ch/mailman/listinfo/microclub-web -- // /* Yves Masur - Ch de Faug 2 - CH 1805 JONGNY - 021 9228491; FAX:93 */ /* Professionnel: +41 21 631 82 43 mobile: +41 79 479 92 48 */ /* [EMAIL PROTECTED] - homepage: http://yves.masur.microclub.ch/ */ /* Sites: www.aspeda.ch, www.svehk.ch, */ /* www.microclub.ch et www.fanfaredechardonnejongny.ch */ // ___ microclub-web mailing list [EMAIL PROTECTED] http://lists.alphanet.ch/mailman/listinfo/microclub-web
Re: [microclub-web] Toues les URL ne sont pas egales...
Alessandro Vernet wrote: Avec de simples fichiers HTML/PHP, je ne crois pas qu'il y ait de solution miracle: si tu veux que les meme fichiers puissent etre accedes depuis www.microclub.ch/~ymasur/... et yves.masur.microclub.ch/... il te faut partout utiliser les URL relatives (en particulier ici pour referencer php/FileBrowser/treeOfFiles.php). PS: Avec OXF justement, vu que nous en discutions l'autre jour, tu pourrais partout avoir des URL qui commencent par "/", comme si ton site etait deploye a la racine (le cas yves.masur.microclub.ch/...). Dans le cas ou ton site n'est pas deploye a la racine (le cas www.microclub.ch/~yasmur/...), OXF prefixe automatiquement toutes des URL par "~ymasur" avant d'envoyer le HTML au browser. Tu peux facilement faire ce genre de choses si le serveur te laisse definir des "traitements" a appliquer a toutes les pages de ton site (comme c'est le cas dans OXF), ce qui ne peut etre fait simplement en PHP. Alex ___ microclub-web mailing list [EMAIL PROTECTED] http://lists.alphanet.ch/mailman/listinfo/microclub-web
Re: [microclub-web] Toues les URL ne sont pas egales...
Yves Masur wrote: La question reste: comment s'affranchir de cette variabilité sur un même serveur, et encore plus loin (ou plus près géographiquement ;-) comment s'en affranchir sur un serveur de test qui a des path différents ??? Avec de simples fichiers HTML/PHP, je ne crois pas qu'il y ait de solution miracle: si tu veux que les meme fichiers puissent etre accedes depuis www.microclub.ch/~ymasur/... et yves.masur.microclub.ch/... il te faut partout utiliser les URL relatives (en particulier ici pour referencer php/FileBrowser/treeOfFiles.php). Alex ___ microclub-web mailing list [EMAIL PROTECTED] http://lists.alphanet.ch/mailman/listinfo/microclub-web
[microclub-web] Toues les URL ne sont pas egales...
Un sacré problème de path Par le serveur HTTP (Apache dans ce cas) un fichier destiné au WEB voit son chemin modifié: Exemple: /home/ymasur/public_html/index.php devient http://www.microclub.ch/~ymasur/index.php On peut définir des alias pour ajouter des nouveaux liens sur une page existante. Par exemple, pour toujours le même fichier, il y a : http://yves.masur.microclub.ch/index.php (Ce qui est l'adresse que je donne pour ma page perso). Donc, la partie qui précède le slash repésentant le path unix est "bricolée" par le serveur; mais ce qui suit devrait rester identique. Il y a parfois problème! Pour le voir, j'ai essayé les 2 urls suivantes, pour le même fichier (en fait,un répertoire): http://yves.masur.microclub.ch/articles/-> fonctionnement correct http://www.microclub.ch/~ymasur/articles/ -> problème!!! The requested URL /php/FileBrowser/treeOfFiles.php was not found on this server. Quelle est la différence? le premier slash du fichier non trouvé est le point de montage vu par PHP. Et il est certainement différent vu par le premier alias que par le 2ème. Pour s'en assurer, on lance phpinfo() mais vu par les 2 alias: http://www.microclub.ch/~ymasur/test/php/phpinfo.php et http://yves.masur.microclub.ch/test/php/phpinfo.php Il faut aller dans le tableau PHP variables pour savoir ce qui se passe... La grosse différence est ici: _SERVER["DOCUMENT_ROOT"]/home/microclub/public_html (soit l'utilisateur microclub) _SERVER["DOCUMENT_ROOT"]/home/ymasur/public_html (soit l'utilisateur ymasur) Par contre à la ligne _SERVER["SCRIPT_FILENAME"]/home/ymasur/public_html/test/php/phpinfo.php, on voit dans les deux cas que c'est bien le même fichier qui est servi. La question reste: comment s'affranchir de cette variabilité sur un même serveur, et encore plus loin (ou plus près géographiquement ;-) comment s'en affranchir sur un serveur de test qui a des path différents ??? La question reste. //Yves -- // /* Yves Masur - Ch de Faug 2 - CH 1805 JONGNY - 021 9228491; FAX:93 */ /* Professionnel: +41 21 631 82 43 mobile: +41 79 479 92 48 */ /* [EMAIL PROTECTED] - homepage: http://yves.masur.microclub.ch/ */ /* Sites: www.aspeda.ch, www.svehk.ch, */ /* www.microclub.ch et www.fanfaredechardonnejongny.ch */ // ___ microclub-web mailing list [EMAIL PROTECTED] http://lists.alphanet.ch/mailman/listinfo/microclub-web
