[repost] [IIS] content negotiation (negociation de langue)
5 réponses
Olivier Miakinen
Bonjour,
N'ayant pas eu de réponse à ma question, j'ai d'abord pensé que c'était
dû au week-end pascal. Il reste la possibilité que personne ne connaisse
la réponse, ou que mon problème n'ait pas de solution (j'espère quand
même que non). Mais peut-être aussi que personne ne l'a lu du fait qu'il
s'agissait d'une réponse sur un article publié ailleurs.
En espérant que c'est la dernière raison qui est la bonne, je me permets
de reposer ma question. Pardon à ceux qui l'ont déjà lue.
Je suis en train de mettre à jour des pages web pour un intranet.
Testant sur Apache, j'ai remplacé les fichiers xxx.html par des
xxx.html.fr et xxx.html.en afin de servir automatiquement les pages dans
la langue du navigateur.
Malheureusement, je suis tombé sur un os lorsque j'ai voulu tester sur
un serveur IIS, qui est l'une des cibles prévues : non seulement
http://xxx.html ne se résolvait pas en l'une des versions .fr ou .en,
mais même les fichiers avec le nom complet étaient invisibles (comme si
le fichier n'existait pas).
En fouillant dans les menus de config, je suis arrivé à trouver qu'il
était possible d'associer le type MIME text/html aux pages suffixées
.en et .fr, ce qui contourne le second problème, mais ne résoud pas le
premier.
J'ai cherché dans les archives de ce groupe, et sur le web, sans succès.
Qui pourrait m'expliquer comment on fait de la négociation de contenu
avec IIS ?
Cordialement,
--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jbongran
Olivier Miakinen wrote:
Bonjour,
N'ayant pas eu de réponse à ma question, j'ai d'abord pensé que c'était dû au week-end pascal. Il reste la possibilité que personne ne connaisse la réponse, ou que mon problème n'ait pas de solution (j'espère quand même que non). Mais peut-être aussi que personne ne l'a lu du fait qu'il s'agissait d'une réponse sur un article publié ailleurs.
En espérant que c'est la dernière raison qui est la bonne, je me permets de reposer ma question. Pardon à ceux qui l'ont déjà lue.
Je suis en train de mettre à jour des pages web pour un intranet. Testant sur Apache, j'ai remplacé les fichiers xxx.html par des xxx.html.fr et xxx.html.en afin de servir automatiquement les pages dans la langue du navigateur.
Malheureusement, je suis tombé sur un os lorsque j'ai voulu tester sur un serveur IIS, qui est l'une des cibles prévues : non seulement http://xxx.html ne se résolvait pas en l'une des versions .fr ou .en, mais même les fichiers avec le nom complet étaient invisibles (comme si le fichier n'existait pas).
En fouillant dans les menus de config, je suis arrivé à trouver qu'il était possible d'associer le type MIME text/html aux pages suffixées .en et .fr, ce qui contourne le second problème, mais ne résoud pas le premier.
J'ai cherché dans les archives de ce groupe, et sur le web, sans succès. Qui pourrait m'expliquer comment on fait de la négociation de contenu avec IIS ?
Cordialement,
Peut être est-ce dù à l'approche loin d'être "standard" sous IIS ? Il existe plusieures méthodes pour arriver au résultat souhaité, à savoir detecter (ou pas d'ailleurs) la langue du navigateur afin d'afficher au visiteur le site dans sa langue (ou celle de son choix). On peut citer : Utilisation de la variable Server.Variable("HTTP_ACCEPT_LANGUAGE") afin de récuperer la langue configurée sur le navigateur. Générer un cookie de session contenant la langue, en utilisant le résultat de la variable citée ou suite à un choix explicite (clique sur un drapeau par exemple) Des sous domaines par langues: (fr.lesite.extension, en.lesite.extension) Des pages dynamiques générant (fichier include par exemple) une page dans la langue choisie. Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait d'utiliser les reécritures (plutôt les redirections) de IIS http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx, ou en faisant appel à un module http://www.isapirewrite.com/ tiers se rapprochant de mod_rewrite pour apache Il y a quantité d'autres possibilités, mais cela dépend du contexte précis (pages statiques, choix par rapport a la langue du navigateur, transparence de la réécriture, etc...)
Olivier Miakinen wrote:
Bonjour,
N'ayant pas eu de réponse à ma question, j'ai d'abord pensé que
c'était dû au week-end pascal. Il reste la possibilité que personne
ne connaisse la réponse, ou que mon problème n'ait pas de solution
(j'espère quand même que non). Mais peut-être aussi que personne ne
l'a lu du fait qu'il s'agissait d'une réponse sur un article publié
ailleurs.
En espérant que c'est la dernière raison qui est la bonne, je me
permets de reposer ma question. Pardon à ceux qui l'ont déjà lue.
Je suis en train de mettre à jour des pages web pour un intranet.
Testant sur Apache, j'ai remplacé les fichiers xxx.html par des
xxx.html.fr et xxx.html.en afin de servir automatiquement les pages
dans la langue du navigateur.
Malheureusement, je suis tombé sur un os lorsque j'ai voulu tester sur
un serveur IIS, qui est l'une des cibles prévues : non seulement
http://xxx.html ne se résolvait pas en l'une des versions .fr ou .en,
mais même les fichiers avec le nom complet étaient invisibles (comme
si le fichier n'existait pas).
En fouillant dans les menus de config, je suis arrivé à trouver qu'il
était possible d'associer le type MIME text/html aux pages suffixées
.en et .fr, ce qui contourne le second problème, mais ne résoud pas le
premier.
J'ai cherché dans les archives de ce groupe, et sur le web, sans
succès. Qui pourrait m'expliquer comment on fait de la négociation de
contenu avec IIS ?
Cordialement,
Peut être est-ce dù à l'approche loin d'être "standard" sous IIS ?
Il existe plusieures méthodes pour arriver au résultat souhaité, à savoir
detecter (ou pas d'ailleurs) la langue du navigateur afin d'afficher au
visiteur le site dans sa langue (ou celle de son choix).
On peut citer :
Utilisation de la variable Server.Variable("HTTP_ACCEPT_LANGUAGE") afin de
récuperer la langue configurée sur le navigateur.
Générer un cookie de session contenant la langue, en utilisant le résultat
de la variable citée ou suite à un choix explicite (clique sur un drapeau
par exemple)
Des sous domaines par langues: (fr.lesite.extension, en.lesite.extension)
Des pages dynamiques générant (fichier include par exemple) une page dans la
langue choisie.
Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait
d'utiliser les reécritures (plutôt les redirections) de IIS
http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx,
ou en faisant appel à un module http://www.isapirewrite.com/ tiers se
rapprochant de mod_rewrite pour apache
Il y a quantité d'autres possibilités, mais cela dépend du contexte précis
(pages statiques, choix par rapport a la langue du navigateur, transparence
de la réécriture, etc...)
N'ayant pas eu de réponse à ma question, j'ai d'abord pensé que c'était dû au week-end pascal. Il reste la possibilité que personne ne connaisse la réponse, ou que mon problème n'ait pas de solution (j'espère quand même que non). Mais peut-être aussi que personne ne l'a lu du fait qu'il s'agissait d'une réponse sur un article publié ailleurs.
En espérant que c'est la dernière raison qui est la bonne, je me permets de reposer ma question. Pardon à ceux qui l'ont déjà lue.
Je suis en train de mettre à jour des pages web pour un intranet. Testant sur Apache, j'ai remplacé les fichiers xxx.html par des xxx.html.fr et xxx.html.en afin de servir automatiquement les pages dans la langue du navigateur.
Malheureusement, je suis tombé sur un os lorsque j'ai voulu tester sur un serveur IIS, qui est l'une des cibles prévues : non seulement http://xxx.html ne se résolvait pas en l'une des versions .fr ou .en, mais même les fichiers avec le nom complet étaient invisibles (comme si le fichier n'existait pas).
En fouillant dans les menus de config, je suis arrivé à trouver qu'il était possible d'associer le type MIME text/html aux pages suffixées .en et .fr, ce qui contourne le second problème, mais ne résoud pas le premier.
J'ai cherché dans les archives de ce groupe, et sur le web, sans succès. Qui pourrait m'expliquer comment on fait de la négociation de contenu avec IIS ?
Cordialement,
Peut être est-ce dù à l'approche loin d'être "standard" sous IIS ? Il existe plusieures méthodes pour arriver au résultat souhaité, à savoir detecter (ou pas d'ailleurs) la langue du navigateur afin d'afficher au visiteur le site dans sa langue (ou celle de son choix). On peut citer : Utilisation de la variable Server.Variable("HTTP_ACCEPT_LANGUAGE") afin de récuperer la langue configurée sur le navigateur. Générer un cookie de session contenant la langue, en utilisant le résultat de la variable citée ou suite à un choix explicite (clique sur un drapeau par exemple) Des sous domaines par langues: (fr.lesite.extension, en.lesite.extension) Des pages dynamiques générant (fichier include par exemple) une page dans la langue choisie. Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait d'utiliser les reécritures (plutôt les redirections) de IIS http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx, ou en faisant appel à un module http://www.isapirewrite.com/ tiers se rapprochant de mod_rewrite pour apache Il y a quantité d'autres possibilités, mais cela dépend du contexte précis (pages statiques, choix par rapport a la langue du navigateur, transparence de la réécriture, etc...)
Olivier Miakinen
Le 30/03/2005 23:46, jbongran me répondait :
J'ai cherché dans les archives de ce groupe, et sur le web, sans succès. Qui pourrait m'expliquer comment on fait de la négociation de contenu avec IIS ?
Peut être est-ce dù à l'approche loin d'être "standard" sous IIS ? Il existe plusieures méthodes pour arriver au résultat souhaité, à savoir detecter (ou pas d'ailleurs) la langue du navigateur afin d'afficher au visiteur le site dans sa langue (ou celle de son choix). On peut citer : Utilisation de la variable Server.Variable("HTTP_ACCEPT_LANGUAGE") afin de récuperer la langue configurée sur le navigateur.
Oui, c'est exactement ça.
Générer un cookie de session contenant la langue, en utilisant le résultat de la variable citée ou suite à un choix explicite (clique sur un drapeau par exemple)
Non, les pages sont statiques. Mais suite à un choix explicite sur machin.html.fr on peut aller sur machin.html.en, puis de là continuer à naviguer en anglais. Mais ça, je sais faire. Mon problème est vraiment d'avoir le bon aiguillage à partir de la première page.
Des sous domaines par langues: (fr.lesite.extension, en.lesite.extension)
Ce n'est pas possible non plus : on ne gère pas les sous-domaines chez les clients où ce sera installé.
Des pages dynamiques générant (fichier include par exemple) une page dans la langue choisie.
Donc non (pages statiques).
Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait d'utiliser les reécritures (plutôt les redirections) de IIS http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx, ou en faisant appel à un module http://www.isapirewrite.com/ tiers se rapprochant de mod_rewrite pour apache
Oui, je crois qu'un équivalent de mod_rewrite serait parfait.
Il y a quantité d'autres possibilités, mais cela dépend du contexte précis (pages statiques, choix par rapport a la langue du navigateur, transparence de la réécriture, etc...)
Pages statiques : oui.
Choix par rapport à la langue du navigateur : non (mais par rapport à la langue configurée dans le navigateur, i.e. HTTP_ACCEPT_LANGUAGE : oui).
Transparence de la réécriture : peu important.
En tout cas merci pour ta réponse, je vais aller fouiller sur le lien que tu m'as donné et je reviendrai si j'ai d'autres questions.
Le 30/03/2005 23:46, jbongran me répondait :
J'ai cherché dans les archives de ce groupe, et sur le web, sans
succès. Qui pourrait m'expliquer comment on fait de la négociation de
contenu avec IIS ?
Peut être est-ce dù à l'approche loin d'être "standard" sous IIS ?
Il existe plusieures méthodes pour arriver au résultat souhaité, à savoir
detecter (ou pas d'ailleurs) la langue du navigateur afin d'afficher au
visiteur le site dans sa langue (ou celle de son choix).
On peut citer :
Utilisation de la variable Server.Variable("HTTP_ACCEPT_LANGUAGE") afin de
récuperer la langue configurée sur le navigateur.
Oui, c'est exactement ça.
Générer un cookie de session contenant la langue, en utilisant le résultat
de la variable citée ou suite à un choix explicite (clique sur un drapeau
par exemple)
Non, les pages sont statiques. Mais suite à un choix explicite sur
machin.html.fr on peut aller sur machin.html.en, puis de là continuer à
naviguer en anglais. Mais ça, je sais faire. Mon problème est vraiment
d'avoir le bon aiguillage à partir de la première page.
Des sous domaines par langues: (fr.lesite.extension, en.lesite.extension)
Ce n'est pas possible non plus : on ne gère pas les sous-domaines chez
les clients où ce sera installé.
Des pages dynamiques générant (fichier include par exemple) une page dans la
langue choisie.
Donc non (pages statiques).
Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait
d'utiliser les reécritures (plutôt les redirections) de IIS
http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx,
ou en faisant appel à un module http://www.isapirewrite.com/ tiers se
rapprochant de mod_rewrite pour apache
Oui, je crois qu'un équivalent de mod_rewrite serait parfait.
Il y a quantité d'autres possibilités, mais cela dépend du contexte précis
(pages statiques, choix par rapport a la langue du navigateur, transparence
de la réécriture, etc...)
Pages statiques : oui.
Choix par rapport à la langue du navigateur : non (mais par rapport à la
langue configurée dans le navigateur, i.e. HTTP_ACCEPT_LANGUAGE : oui).
Transparence de la réécriture : peu important.
En tout cas merci pour ta réponse, je vais aller fouiller sur le lien
que tu m'as donné et je reviendrai si j'ai d'autres questions.
J'ai cherché dans les archives de ce groupe, et sur le web, sans succès. Qui pourrait m'expliquer comment on fait de la négociation de contenu avec IIS ?
Peut être est-ce dù à l'approche loin d'être "standard" sous IIS ? Il existe plusieures méthodes pour arriver au résultat souhaité, à savoir detecter (ou pas d'ailleurs) la langue du navigateur afin d'afficher au visiteur le site dans sa langue (ou celle de son choix). On peut citer : Utilisation de la variable Server.Variable("HTTP_ACCEPT_LANGUAGE") afin de récuperer la langue configurée sur le navigateur.
Oui, c'est exactement ça.
Générer un cookie de session contenant la langue, en utilisant le résultat de la variable citée ou suite à un choix explicite (clique sur un drapeau par exemple)
Non, les pages sont statiques. Mais suite à un choix explicite sur machin.html.fr on peut aller sur machin.html.en, puis de là continuer à naviguer en anglais. Mais ça, je sais faire. Mon problème est vraiment d'avoir le bon aiguillage à partir de la première page.
Des sous domaines par langues: (fr.lesite.extension, en.lesite.extension)
Ce n'est pas possible non plus : on ne gère pas les sous-domaines chez les clients où ce sera installé.
Des pages dynamiques générant (fichier include par exemple) une page dans la langue choisie.
Donc non (pages statiques).
Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait d'utiliser les reécritures (plutôt les redirections) de IIS http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx, ou en faisant appel à un module http://www.isapirewrite.com/ tiers se rapprochant de mod_rewrite pour apache
Oui, je crois qu'un équivalent de mod_rewrite serait parfait.
Il y a quantité d'autres possibilités, mais cela dépend du contexte précis (pages statiques, choix par rapport a la langue du navigateur, transparence de la réécriture, etc...)
Pages statiques : oui.
Choix par rapport à la langue du navigateur : non (mais par rapport à la langue configurée dans le navigateur, i.e. HTTP_ACCEPT_LANGUAGE : oui).
Transparence de la réécriture : peu important.
En tout cas merci pour ta réponse, je vais aller fouiller sur le lien que tu m'as donné et je reviendrai si j'ai d'autres questions.
Olivier Miakinen
Le 31/03/2005 01:35, je répondais à jbongran :
Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait d'utiliser les reécritures (plutôt les redirections) de IIS http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx, ou en faisant appel à un module http://www.isapirewrite.com/ tiers se rapprochant de mod_rewrite pour apache
Oui, je crois qu'un équivalent de mod_rewrite serait parfait.
Il m'avait semblé que le premier des deux liens fonctionnait hier, mais j'étais sur un ordi sans imprimante. Ce soir j'ai l'imprimante, mais le lien ne marche plus. :-(
Quant au second, isapirewrite, même si la version Lite (gratuite) permettait de faire ce dont on a besoin, je ne suis pas sûr de pouvoir la faire installer et configurer facilement (c.-à-d. automatiquement si possible) sur tous les serveurs.
Je sais que j'abuse, mais si je décris le plus complètement possible la fonctionnalité minimale dont j'ai besoin pour ne pas nous faire jeter (ou imposer l'utilisation d'Apache à la place), est-ce que quelqu'un pourrait m'expliquer comment l'obtenir ?
Le minimum minimorum, ce serait la chose suivante : que partout sur le site, si un utilisateur essaye d'accéder à /machin/truc/bidule.html et que le fichier n'existe pas, on lui serve /machin/truc/bidule.html.en à la place. C'est possible sans installer isapirewrite Lite ?
-- Olivier Miakinen Non, monsieur le juge, je vous le jure : jamais je n'ai cité Bruxelles dans ma signature.
Le 31/03/2005 01:35, je répondais à jbongran :
Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait
d'utiliser les reécritures (plutôt les redirections) de IIS
http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx,
ou en faisant appel à un module http://www.isapirewrite.com/ tiers se
rapprochant de mod_rewrite pour apache
Oui, je crois qu'un équivalent de mod_rewrite serait parfait.
Il m'avait semblé que le premier des deux liens fonctionnait hier, mais
j'étais sur un ordi sans imprimante. Ce soir j'ai l'imprimante, mais le
lien ne marche plus. :-(
Quant au second, isapirewrite, même si la version Lite (gratuite)
permettait de faire ce dont on a besoin, je ne suis pas sûr de pouvoir
la faire installer et configurer facilement (c.-à-d. automatiquement si
possible) sur tous les serveurs.
Je sais que j'abuse, mais si je décris le plus complètement possible la
fonctionnalité minimale dont j'ai besoin pour ne pas nous faire jeter
(ou imposer l'utilisation d'Apache à la place), est-ce que quelqu'un
pourrait m'expliquer comment l'obtenir ?
Le minimum minimorum, ce serait la chose suivante : que partout sur le
site, si un utilisateur essaye d'accéder à /machin/truc/bidule.html et
que le fichier n'existe pas, on lui serve /machin/truc/bidule.html.en à
la place. C'est possible sans installer isapirewrite Lite ?
--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.
Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait d'utiliser les reécritures (plutôt les redirections) de IIS http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx, ou en faisant appel à un module http://www.isapirewrite.com/ tiers se rapprochant de mod_rewrite pour apache
Oui, je crois qu'un équivalent de mod_rewrite serait parfait.
Il m'avait semblé que le premier des deux liens fonctionnait hier, mais j'étais sur un ordi sans imprimante. Ce soir j'ai l'imprimante, mais le lien ne marche plus. :-(
Quant au second, isapirewrite, même si la version Lite (gratuite) permettait de faire ce dont on a besoin, je ne suis pas sûr de pouvoir la faire installer et configurer facilement (c.-à-d. automatiquement si possible) sur tous les serveurs.
Je sais que j'abuse, mais si je décris le plus complètement possible la fonctionnalité minimale dont j'ai besoin pour ne pas nous faire jeter (ou imposer l'utilisation d'Apache à la place), est-ce que quelqu'un pourrait m'expliquer comment l'obtenir ?
Le minimum minimorum, ce serait la chose suivante : que partout sur le site, si un utilisateur essaye d'accéder à /machin/truc/bidule.html et que le fichier n'existe pas, on lui serve /machin/truc/bidule.html.en à la place. C'est possible sans installer isapirewrite Lite ?
-- Olivier Miakinen Non, monsieur le juge, je vous le jure : jamais je n'ai cité Bruxelles dans ma signature.
jbongran
Olivier Miakinen wrote:
Le 31/03/2005 01:35, je répondais à jbongran :
Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait d'utiliser les reécritures (plutôt les redirections) de IIS http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx, ou en faisant appel à un module http://www.isapirewrite.com/ tiers se rapprochant de mod_rewrite pour apache
Oui, je crois qu'un équivalent de mod_rewrite serait parfait.
Il m'avait semblé que le premier des deux liens fonctionnait hier, mais j'étais sur un ordi sans imprimante. Ce soir j'ai l'imprimante, mais le lien ne marche plus. :-(
Quant au second, isapirewrite, même si la version Lite (gratuite) permettait de faire ce dont on a besoin, je ne suis pas sûr de pouvoir la faire installer et configurer facilement (c.-à-d. automatiquement si possible) sur tous les serveurs.
Je sais que j'abuse, mais si je décris le plus complètement possible la fonctionnalité minimale dont j'ai besoin pour ne pas nous faire jeter (ou imposer l'utilisation d'Apache à la place), est-ce que quelqu'un pourrait m'expliquer comment l'obtenir ?
Le minimum minimorum, ce serait la chose suivante : que partout sur le site, si un utilisateur essaye d'accéder à /machin/truc/bidule.html et que le fichier n'existe pas, on lui serve /machin/truc/bidule.html.en à la place. C'est possible sans installer isapirewrite Lite ?
Effectivement, le lien donné semble avoir été déplacé, j'ai eu beau chercher impossible de remettre la main dessus. Ceci dit lorsque tu est dans la MMC de IIS, l'aide en ligne contextuelle te donne la syntaxe de la réécriture d'adresses. De mémoire c'est quelque chose du genre: *; *.html;*.html.en Pour la fonction minimum requise, il "suffit" de faire une page 404.asp personnalisée. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnasdj00/html/asp0084.asp Cette page récupère l'url demandée (et non trouvée) et renvoie vers la page de ton choix. <% dim pageRequested with request pageRequested = mid(.QueryString, InStr(.QueryString,";") + 1) end with Response.Redirect pageRequested & ".en" %>
Sinon, en repensant à ta problèmatique, il serait simple de pouvoir mettre les pages fr dans un sous repertoire fr et les pages en dans un sous repertoire en En racine du site une page asp par défaut récuperes la langue du navigateur et redirige sur la page d'accueil de cette langue dans le repertoire correspondant. A partir de là on est dans une arborescence statique qui ne devrait plus poser souci ;-)
Olivier Miakinen wrote:
Le 31/03/2005 01:35, je répondais à jbongran :
Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait
d'utiliser les reécritures (plutôt les redirections) de IIS
http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx,
ou en faisant appel à un module http://www.isapirewrite.com/ tiers
se rapprochant de mod_rewrite pour apache
Oui, je crois qu'un équivalent de mod_rewrite serait parfait.
Il m'avait semblé que le premier des deux liens fonctionnait hier,
mais j'étais sur un ordi sans imprimante. Ce soir j'ai l'imprimante,
mais le lien ne marche plus. :-(
Quant au second, isapirewrite, même si la version Lite (gratuite)
permettait de faire ce dont on a besoin, je ne suis pas sûr de pouvoir
la faire installer et configurer facilement (c.-à-d. automatiquement
si possible) sur tous les serveurs.
Je sais que j'abuse, mais si je décris le plus complètement possible
la fonctionnalité minimale dont j'ai besoin pour ne pas nous faire
jeter (ou imposer l'utilisation d'Apache à la place), est-ce que
quelqu'un pourrait m'expliquer comment l'obtenir ?
Le minimum minimorum, ce serait la chose suivante : que partout sur le
site, si un utilisateur essaye d'accéder à /machin/truc/bidule.html et
que le fichier n'existe pas, on lui serve /machin/truc/bidule.html.en
à la place. C'est possible sans installer isapirewrite Lite ?
Effectivement, le lien donné semble avoir été déplacé, j'ai eu beau chercher
impossible de remettre la main dessus.
Ceci dit lorsque tu est dans la MMC de IIS, l'aide en ligne contextuelle te
donne la syntaxe de la réécriture d'adresses.
De mémoire c'est quelque chose du genre:
*; *.html;*.html.en
Pour la fonction minimum requise, il "suffit" de faire une page 404.asp
personnalisée.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnasdj00/html/asp0084.asp
Cette page récupère l'url demandée (et non trouvée) et renvoie vers la page
de ton choix.
<%
dim pageRequested
with request
pageRequested = mid(.QueryString, InStr(.QueryString,";") + 1)
end with
Response.Redirect pageRequested & ".en"
%>
Sinon, en repensant à ta problèmatique, il serait simple de pouvoir mettre
les pages fr dans un sous repertoire fr et les pages en dans un sous
repertoire en
En racine du site une page asp par défaut récuperes la langue du navigateur
et redirige sur la page d'accueil de cette langue dans le repertoire
correspondant. A partir de là on est dans une arborescence statique qui ne
devrait plus poser souci ;-)
Sinon, ce qui se rapproche le plus du fonctionnement souhaité serait d'utiliser les reécritures (plutôt les redirections) de IIS http://www.microsoft.com/resources/documentation/iis/6/all/proddocs/en-us/ref_we_redirect.mspx, ou en faisant appel à un module http://www.isapirewrite.com/ tiers se rapprochant de mod_rewrite pour apache
Oui, je crois qu'un équivalent de mod_rewrite serait parfait.
Il m'avait semblé que le premier des deux liens fonctionnait hier, mais j'étais sur un ordi sans imprimante. Ce soir j'ai l'imprimante, mais le lien ne marche plus. :-(
Quant au second, isapirewrite, même si la version Lite (gratuite) permettait de faire ce dont on a besoin, je ne suis pas sûr de pouvoir la faire installer et configurer facilement (c.-à-d. automatiquement si possible) sur tous les serveurs.
Je sais que j'abuse, mais si je décris le plus complètement possible la fonctionnalité minimale dont j'ai besoin pour ne pas nous faire jeter (ou imposer l'utilisation d'Apache à la place), est-ce que quelqu'un pourrait m'expliquer comment l'obtenir ?
Le minimum minimorum, ce serait la chose suivante : que partout sur le site, si un utilisateur essaye d'accéder à /machin/truc/bidule.html et que le fichier n'existe pas, on lui serve /machin/truc/bidule.html.en à la place. C'est possible sans installer isapirewrite Lite ?
Effectivement, le lien donné semble avoir été déplacé, j'ai eu beau chercher impossible de remettre la main dessus. Ceci dit lorsque tu est dans la MMC de IIS, l'aide en ligne contextuelle te donne la syntaxe de la réécriture d'adresses. De mémoire c'est quelque chose du genre: *; *.html;*.html.en Pour la fonction minimum requise, il "suffit" de faire une page 404.asp personnalisée. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnasdj00/html/asp0084.asp Cette page récupère l'url demandée (et non trouvée) et renvoie vers la page de ton choix. <% dim pageRequested with request pageRequested = mid(.QueryString, InStr(.QueryString,";") + 1) end with Response.Redirect pageRequested & ".en" %>
Sinon, en repensant à ta problèmatique, il serait simple de pouvoir mettre les pages fr dans un sous repertoire fr et les pages en dans un sous repertoire en En racine du site une page asp par défaut récuperes la langue du navigateur et redirige sur la page d'accueil de cette langue dans le repertoire correspondant. A partir de là on est dans une arborescence statique qui ne devrait plus poser souci ;-)
Olivier Miakinen
Le 03/04/2005 21:16, jbongran m'a répondu :
Ceci dit lorsque tu est dans la MMC de IIS, l'aide en ligne contextuelle te donne la syntaxe de la réécriture d'adresses. De mémoire c'est quelque chose du genre: *; *.html;*.html.en [...]
Un grand merci pour toutes ces infos. Je suis un peu loin de la machine disposant de IIS pour le moment, mais j'imprime ta réponse qui devrait m'être d'un grand secours.
Sinon, en repensant à ta problèmatique, il serait simple de pouvoir mettre les pages fr dans un sous repertoire fr et les pages en dans un sous repertoire en En racine du site une page asp par défaut récupere la langue du navigateur et redirige sur la page d'accueil de cette langue dans le repertoire correspondant. A partir de là on est dans une arborescence statique qui ne devrait plus poser souci ;-)
Tu as peut-être raison, mais il faudra que j'y réfléchisse à tête reposée, une fois que j'aurai un peu mieux cerné la philosophie de la chose. Pour le moment, cela me semble un peu compliqué à gérer à cause de deux points non encore résolus : 1) seules certaines pages sont statiques, mais pas toutes ; 2) je voudrais pouvoir gérer au mieux le cas d'une traduction partielle, avec repli sur une autre langue au cas où l'une des pages manquerait, par exemple en japonais. En tout cas, je ne rejette pas d'emblée ton idée, je la mets seulement en attente.
Quoi qu'il en soit, encore merci. J'ai l'impression que grâce à toi je vais pouvoir faire survivre la solution IIS pour les machines Windows, au lieu d'y imposer Apache.
Cordialement, -- Olivier Miakinen Non, monsieur le juge, je vous le jure : jamais je n'ai cité Bruxelles dans ma signature.
Le 03/04/2005 21:16, jbongran m'a répondu :
Ceci dit lorsque tu est dans la MMC de IIS, l'aide en ligne contextuelle te
donne la syntaxe de la réécriture d'adresses.
De mémoire c'est quelque chose du genre:
*; *.html;*.html.en
[...]
Un grand merci pour toutes ces infos. Je suis un peu loin de la machine
disposant de IIS pour le moment, mais j'imprime ta réponse qui devrait
m'être d'un grand secours.
Sinon, en repensant à ta problèmatique, il serait simple de pouvoir mettre
les pages fr dans un sous repertoire fr et les pages en dans un sous
repertoire en
En racine du site une page asp par défaut récupere la langue du navigateur
et redirige sur la page d'accueil de cette langue dans le repertoire
correspondant. A partir de là on est dans une arborescence statique qui ne
devrait plus poser souci ;-)
Tu as peut-être raison, mais il faudra que j'y réfléchisse à tête
reposée, une fois que j'aurai un peu mieux cerné la philosophie de la
chose. Pour le moment, cela me semble un peu compliqué à gérer à cause
de deux points non encore résolus :
1) seules certaines pages sont statiques, mais pas toutes ;
2) je voudrais pouvoir gérer au mieux le cas d'une traduction partielle,
avec repli sur une autre langue au cas où l'une des pages manquerait,
par exemple en japonais.
En tout cas, je ne rejette pas d'emblée ton idée, je la mets seulement
en attente.
Quoi qu'il en soit, encore merci. J'ai l'impression que grâce à toi je
vais pouvoir faire survivre la solution IIS pour les machines Windows,
au lieu d'y imposer Apache.
Cordialement,
--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.
Ceci dit lorsque tu est dans la MMC de IIS, l'aide en ligne contextuelle te donne la syntaxe de la réécriture d'adresses. De mémoire c'est quelque chose du genre: *; *.html;*.html.en [...]
Un grand merci pour toutes ces infos. Je suis un peu loin de la machine disposant de IIS pour le moment, mais j'imprime ta réponse qui devrait m'être d'un grand secours.
Sinon, en repensant à ta problèmatique, il serait simple de pouvoir mettre les pages fr dans un sous repertoire fr et les pages en dans un sous repertoire en En racine du site une page asp par défaut récupere la langue du navigateur et redirige sur la page d'accueil de cette langue dans le repertoire correspondant. A partir de là on est dans une arborescence statique qui ne devrait plus poser souci ;-)
Tu as peut-être raison, mais il faudra que j'y réfléchisse à tête reposée, une fois que j'aurai un peu mieux cerné la philosophie de la chose. Pour le moment, cela me semble un peu compliqué à gérer à cause de deux points non encore résolus : 1) seules certaines pages sont statiques, mais pas toutes ; 2) je voudrais pouvoir gérer au mieux le cas d'une traduction partielle, avec repli sur une autre langue au cas où l'une des pages manquerait, par exemple en japonais. En tout cas, je ne rejette pas d'emblée ton idée, je la mets seulement en attente.
Quoi qu'il en soit, encore merci. J'ai l'impression que grâce à toi je vais pouvoir faire survivre la solution IIS pour les machines Windows, au lieu d'y imposer Apache.
Cordialement, -- Olivier Miakinen Non, monsieur le juge, je vous le jure : jamais je n'ai cité Bruxelles dans ma signature.