Re: [microclub-web] Toues les URL ne sont pas egales...

2004-01-11 Par sujet Alessandro Vernet
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...

2004-01-10 Par sujet Yves Masur
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...

2004-01-10 Par sujet Alessandro Vernet
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...

2004-01-10 Par sujet Alessandro Vernet
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...

2004-01-10 Par sujet Yves Masur
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