IIS et INCLUDE

Le
Julien Castets
Bonjour,


Je développe un site en asp, et il m'arrive quelques misères qui me font
déprimer depuis quelques jours.

Voilà l'arborescence du site :

/admin/
/func/ log.asp
/applets/
/index.asp
/client.asp


Dans mon index.asp, j'inclue un fichier du dossier /func (func/ et
index.asp se situent donc dans le meme dossier)
Pour cela, je fais : <!-- #INCLUDE ="./func/log.asp" -->

Aucun souci : ca fonctionne

Le probleme maintenant :
Devant realiser deux versions du site (francaise et suisse), je souhaite
eviter de dedoubler certains fichiers/dossiers (tel que le dossier func/
par exemple)
Pour cela je souhaiterais revoir l'arborescence du site, et avoir
quelque chose qui ressemble a ca :

FR/ admin/ index.asp client.asp
CH/ admin/ index.asp client.asp
COMMUN/ func/ log.asp

Desormais, lorsque index.asp fait un include : <!-- #INCLUDE
="./func/log.asp" -->
ca ne fonctionne plus
Normal : le dossier func ne se situe plus dans le meme repertoire que
index.asp

J'ai donc cree un repertoire virtuel, j'ai mis les droits
d'administrateurs (pour tester, je ne les laisserai pas), afin que func/
apparaisse comme faisant partie de FR/

Mais ca ne fonctionne pas !


Un semblant de solution serait :
- faire, lors de mes include, reference au site par rapport a la racine
- remplacer INCLUDE par INCLUDE VIRTUAL
Ainsi, pour faire la meme chose, je dois faire : <!-- #INCLUDE
VIRTUAL="/func/log.asp" -->
Mais :
- ca me demande de changer tous les include du site (et comme vous vous
en doutez, il n'y a pas que deux fichiers)
- je ne sais pas a quoi correspond INCLUDE VIRTUAL (je n'ai pas compris
a vrai dire)
- j'aimerais tout de meme trouver un moyen pour que ca fonctionne sans
avoir a tout bidouiller


Si vous avez une idee, je suis.. plus que preneur
D'avance merci !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Lognoul, Marc \(Private\)
Le #17734351
> Si vous avez une idee, je suis.. plus que preneur
D'avance merci !


Passer à ASP.Net?
OK je sors...

--
Marc
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]
Julien Castets
Le #17734341
Lognoul, Marc (Private) a écrit :

Si vous avez une idee, je suis.. plus que preneur
D'avance merci !


Passer à ASP.Net?
OK je sors...




Avec du recul j'aurais bien voulu, mais pour l'instant c'est trop tard ;)

Je rajoute que le souci se pose sur IIS6 (serveur où est actuellement le
site), et IIS7 (là où on veut le migrer)
Lognoul, Marc \(Private\)
Le #17734571
Ce tutorial (d'un autre âge ;)) en anglais vous aidera à y voir plus clair
concernant les chemins à utiliser. La 3ème partie traite des includes
dynamiques qui peuvent s'avérer utiles:
http://www.4guysfromrolla.com/webtech/080199-1.shtml

--
Marc
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]



"Julien Castets" news:
Lognoul, Marc (Private) a écrit :

Si vous avez une idee, je suis.. plus que preneur
D'avance merci !


Passer à ASP.Net?
OK je sors...




Avec du recul j'aurais bien voulu, mais pour l'instant c'est trop tard ;)

Je rajoute que le souci se pose sur IIS6 (serveur où est actuellement le
site), et IIS7 (là où on veut le migrer)


Julien Castets
Le #17734871
Lognoul, Marc (Private) a écrit :
Ce tutorial (d'un autre âge ;)) en anglais vous aidera à y voir plus
clair concernant les chemins à utiliser. La 3ème partie traite des
includes dynamiques qui peuvent s'avérer utiles:
http://www.4guysfromrolla.com/webtech/080199-1.shtml




Merci pour le lien, neanmoins bien qu'il m'ait aide a comprendre ce que
sont les include virtual, je n'y ai pas vu d'autre methode pour resoudre
mon probleme que de modifier tous les liens du site.

Si vous avez une idee, n'hesitez (vraiment, vraiment, vraiment) pas a la
faire partager !
Lognoul, Marc \(Private\)
Le #17741771
Bonjour,

Je ne vois IMHA pas d'autre solution hélas.

--
Marc
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]


"Julien Castets" news:
Lognoul, Marc (Private) a écrit :
Ce tutorial (d'un autre âge ;)) en anglais vous aidera à y voir plus
clair concernant les chemins à utiliser. La 3ème partie traite des
includes dynamiques qui peuvent s'avérer utiles:
http://www.4guysfromrolla.com/webtech/080199-1.shtml




Merci pour le lien, neanmoins bien qu'il m'ait aide a comprendre ce que
sont les include virtual, je n'y ai pas vu d'autre methode pour resoudre
mon probleme que de modifier tous les liens du site.

Si vous avez une idee, n'hesitez (vraiment, vraiment, vraiment) pas a la
faire partager !



jbongran
Le #17744791
"Julien Castets" news:%
Bonjour,


Je développe un site en asp, et il m'arrive quelques misères qui me font
déprimer depuis quelques jours.

Voilà l'arborescence du site :

/admin/ ...
/func/ log.asp
/applets/ ...
/index.asp
/client.asp
...

Dans mon index.asp, j'inclue un fichier du dossier /func (func/ et
index.asp se situent donc dans le meme dossier)
Pour cela, je fais :
Aucun souci : ca fonctionne

Le probleme maintenant :
Devant realiser deux versions du site (francaise et suisse), je souhaite
eviter de dedoubler certains fichiers/dossiers (tel que le dossier func/
par exemple)
Pour cela je souhaiterais revoir l'arborescence du site, et avoir quelque
chose qui ressemble a ca :

FR/ admin/ index.asp client.asp
CH/ admin/ index.asp client.asp
COMMUN/ func/ log.asp

Desormais, lorsque index.asp fait un include : <!-- #INCLUDE
="./func/log.asp" -->
ca ne fonctionne plus
Normal : le dossier func ne se situe plus dans le meme repertoire que
index.asp

J'ai donc cree un repertoire virtuel, j'ai mis les droits
d'administrateurs (pour tester, je ne les laisserai pas), afin que func/
apparaisse comme faisant partie de FR/

Mais ca ne fonctionne pas !


Un semblant de solution serait :
- faire, lors de mes include, reference au site par rapport a la racine
- remplacer INCLUDE par INCLUDE VIRTUAL
Ainsi, pour faire la meme chose, je dois faire : <!-- #INCLUDE
VIRTUAL="/func/log.asp" -->
Mais :
- ca me demande de changer tous les include du site (et comme vous vous en
doutez, il n'y a pas que deux fichiers)
- je ne sais pas a quoi correspond INCLUDE VIRTUAL (je n'ai pas compris a
vrai dire)
- j'aimerais tout de meme trouver un moyen pour que ca fonctionne sans
avoir a tout bidouiller


Si vous avez une idee, je suis.. plus que preneur
D'avance merci !







Si vôtre arborescence est la suivante:
/
/FR
/admin
index.asp
client.asp
/CH
/admin
index.asp
client.asp
/COMMUN
/func
log.asp

Et si vraiment vous tenez à utiliser (syntaxiquement incorrect voir plus bas) alors il faut creer un virtuel func
à la racine du site web et pointant vers le repertoire func contenu dans
COMMUN.
Je ne pense pas que cela fonctionne , mais cela se tente.

Ceci dit plusieures remarques:
en asp la directive include prend comme argument soit file soit virtual.
Si file est utilisé, on indique un chemin PHYSIQUE relatif au fichier
faisant l'inclusion, on doit donc utiliser des (anti slash)
Si virtual est utilisé on indique un chemin LOGIQUE, on doit donc utiliser
des / (slash)
Si il est fait usage de ./ (un point suivi d'un slash) dans le chemin
include, on indique que l'on part de la racine du site web.

Activer les messages d'erreur dans IIS et supprimer (si ils existent) les
directives On Error Resume Next afin de voir l'erreur et le chemin que
cherche IIS.

http://msdn.microsoft.com/en-us/library/ms525940.aspx
Ps: désolé pour le message en bal perso, erreur de manip.
Julien Castets
Le #17748721
jbongran a écrit :
"Julien Castets" news:%
Bonjour,


Je développe un site en asp, et il m'arrive quelques misères qui me
font déprimer depuis quelques jours.

Voilà l'arborescence du site :

/admin/ ...
/func/ log.asp
/applets/ ...
/index.asp
/client.asp
...

Dans mon index.asp, j'inclue un fichier du dossier /func (func/ et
index.asp se situent donc dans le meme dossier)
Pour cela, je fais :
Aucun souci : ca fonctionne

Le probleme maintenant :
Devant realiser deux versions du site (francaise et suisse), je
souhaite eviter de dedoubler certains fichiers/dossiers (tel que le
dossier func/ par exemple)
Pour cela je souhaiterais revoir l'arborescence du site, et avoir
quelque chose qui ressemble a ca :

FR/ admin/ index.asp client.asp
CH/ admin/ index.asp client.asp
COMMUN/ func/ log.asp

Desormais, lorsque index.asp fait un include : <!-- #INCLUDE
="./func/log.asp" -->
ca ne fonctionne plus
Normal : le dossier func ne se situe plus dans le meme repertoire que
index.asp

J'ai donc cree un repertoire virtuel, j'ai mis les droits
d'administrateurs (pour tester, je ne les laisserai pas), afin que
func/ apparaisse comme faisant partie de FR/

Mais ca ne fonctionne pas !


Un semblant de solution serait :
- faire, lors de mes include, reference au site par rapport a la racine
- remplacer INCLUDE par INCLUDE VIRTUAL
Ainsi, pour faire la meme chose, je dois faire : <!-- #INCLUDE
VIRTUAL="/func/log.asp" -->
Mais :
- ca me demande de changer tous les include du site (et comme vous
vous en doutez, il n'y a pas que deux fichiers)
- je ne sais pas a quoi correspond INCLUDE VIRTUAL (je n'ai pas
compris a vrai dire)
- j'aimerais tout de meme trouver un moyen pour que ca fonctionne sans
avoir a tout bidouiller


Si vous avez une idee, je suis.. plus que preneur
D'avance merci !







Si vôtre arborescence est la suivante:
/
/FR
/admin
index.asp
client.asp
/CH
/admin
index.asp
client.asp
/COMMUN
/func
log.asp

Et si vraiment vous tenez à utiliser (syntaxiquement incorrect voir plus bas) alors il faut creer un virtuel
func
à la racine du site web et pointant vers le repertoire func contenu dans
COMMUN.
Je ne pense pas que cela fonctionne , mais cela se tente.

Ceci dit plusieures remarques:
en asp la directive include prend comme argument soit file soit virtual.
Si file est utilisé, on indique un chemin PHYSIQUE relatif au fichier
faisant l'inclusion, on doit donc utiliser des (anti slash)
Si virtual est utilisé on indique un chemin LOGIQUE, on doit donc utiliser
des / (slash)
Si il est fait usage de ./ (un point suivi d'un slash) dans le chemin
include, on indique que l'on part de la racine du site web.

Activer les messages d'erreur dans IIS et supprimer (si ils existent) les
directives On Error Resume Next afin de voir l'erreur et le chemin que
cherche IIS.

http://msdn.microsoft.com/en-us/library/ms525940.aspx
Ps: désolé pour le message en bal perso, erreur de manip.



Merci beaucoup, je vais donc modifier tous les liens :)
Publicité
Poster une réponse
Anonyme