Bonjour,
Je vais tenter d'expliquer le problème qui m'occupe :
Le cas de figure est très simple, j'ai un site web hébergé localement et qui comporte l'utilisation de script(s) CGI (en PERL). Ceci est l'environnement de développement.
- Ma configuration : Windows XP Pro et IIS 5.1
- Le dossier contrenant le site : C:\Inetpub\wwwroot\mon_site\
- Les pages HTML sont dans le sous-dossier : C:\Inetpub\wwwroot\mon_site\web
- Le script PERL est dans le fichier : C:\Inetpub\wwwroot\mon_site\cgi\script.pl
- Le répertoire virtuel utilisé par IIS est nommé "mon_site" et pointe vers le dossier C:\Inetpub\wwwroot\mon_site\
Soit le fichier C:\Inetpub\wwwroot\mon_site\web\test.html qui contient un lien vers le script mentionné ci-dessus.
Ce fichier HTML est accessible via l'adresse http://localhost/mon_site/web/test.html
Pour atteindre le script CGI à travers l'arborescence du site, ce fichier contiendra la référence suivante ../cgi/script.pl
Le script produit un code HTML simple qui est sensé afficher une image : C:\Inetpub\wwwroot\mon_site\web\images\image_01.jpg
Le script contiendra dans son code une référence à ./images/image_01.jpg. Cela peut paraître bizarre et c'est justement là le problème, que je vais expliquer ci-dessous :
En effet le problème et que, si le script est bien appelé correctement, l'affichage lui ne l'est pas. Et pour cause, la référence qui figure dans le code n'est pas juste. Pas juste dans le sens qu'il n'y a pas de dossier "images" dans le dossier "cgi".
Cette référence à première vue erronée ne l'est pas du point de vue de l'environnement productif (serveur UNIX) alors que pourtant l'arborescence est la même dans cet environnement - du moins à partir de /mon_site/etc. (le reste est du ressort de l'hébergeur).
La raison est selon moi que d'une manière ou d'une autre, la référence contenue dans le code HTML produit par le script est interprétée dans ce cas du point de vue du fichier appelant, soit du fichier test.html !!!
Pourquoi ??? Là est la grande question ! Différence Windows / UNIX ? Configuration du serveur productif ?
Et surtout, que faire pour avoir le même comportemnent dans l'environnement de développement que dans le productif.
Voilà, merci d'avance à ceux/celles qui auront eu la patience de me lire jusqu'au bout et fait l'effort de comprendre ce problème
Partager