OVH Cloud OVH Cloud

Question sur UrlRewriting

6 réponses
Avatar
fabrice
Bonjour à tous.

Je voudrais mettre en place un système d'URL rewrintg pour un site en
vb.net.
Mon gros souci c'est que j'utilse dans plusieurs endroits du site des
"Server.Transfer". Donc par conséquent le chemin de la page change avec un
décalage. Et la si je peux faire une réécriture je n'attrape plus la bonne
URL.

Voici un exemple.

premier url

http://test.intranet.fr/dossier/page1.aspx

Le Request Path donne dossier/page1.aspx
L'utilisateur va cliquer sur un lien faisans un server.transfer vers la page
/dossier2/page2.aspx

mais là mon problème c'est que Request Path me donne toujours :
"dossier/page1.aspx" --> Donc il m'est impossible de savoir quel est le vrai
chemin demander avec le server.transfer.

Existe t il un moyen de toujours connaitre la vraie URL en cours malgré un
server.transfer ?

merci d'avance.
fabrice

6 réponses

Avatar
fabrice
La propriété HttpContext.Current.Request.CurrentExecutionFilePath me permet
de récupérer la page réellement en cours. Mais Cela ne semble être valable
que si je l'exécute lors de l'initialisation de la page.
Dans la mesure ou j'utilise Application_BeginRequest su Global.Asax je
reste toujours sur url de la page ancienne.


toujours à la recherche d'une solution.




"fabrice" a écrit dans le message de news:

Bonjour à tous.

Je voudrais mettre en place un système d'URL rewrintg pour un site en
vb.net.
Mon gros souci c'est que j'utilse dans plusieurs endroits du site des
"Server.Transfer". Donc par conséquent le chemin de la page change avec un
décalage. Et la si je peux faire une réécriture je n'attrape plus la bonne
URL.

Voici un exemple.

premier url

http://test.intranet.fr/dossier/page1.aspx

Le Request Path donne dossier/page1.aspx
L'utilisateur va cliquer sur un lien faisans un server.transfer vers la
page /dossier2/page2.aspx

mais là mon problème c'est que Request Path me donne toujours :
"dossier/page1.aspx" --> Donc il m'est impossible de savoir quel est le
vrai chemin demander avec le server.transfer.

Existe t il un moyen de toujours connaitre la vraie URL en cours malgré un
server.transfer ?

merci d'avance.
fabrice



Avatar
zk
je n'ai pas bien compris ce que fait le programme.
est ce , ce qui suit:

sur la page dossier1/page1 on a un lien vers dossier2/page2
et
dossier2/page2 on a un lien vers dossier3/page3

quand on est sur dossier1/page1 on a quelque part l'information
dossier1/page1
sur dossier2/page2 on a l'information dossier2/page2
et ainsi de suite

si ce n'est pas ca, plus de precision stp.

"fabrice" a écrit :

La propriété HttpContext.Current.Request.CurrentExecutionFilePath me permet
de récupérer la page réellement en cours. Mais Cela ne semble être valable
que si je l'exécute lors de l'initialisation de la page.
Dans la mesure ou j'utilise Application_BeginRequest su Global.Asax je
reste toujours sur url de la page ancienne.


toujours à la recherche d'une solution.




"fabrice" a écrit dans le message de news:

> Bonjour à tous.
>
> Je voudrais mettre en place un système d'URL rewrintg pour un site en
> vb.net.
> Mon gros souci c'est que j'utilse dans plusieurs endroits du site des
> "Server.Transfer". Donc par conséquent le chemin de la page change avec un
> décalage. Et la si je peux faire une réécriture je n'attrape plus la bonne
> URL.
>
> Voici un exemple.
>
> premier url
>
> http://test.intranet.fr/dossier/page1.aspx
>
> Le Request Path donne dossier/page1.aspx
> L'utilisateur va cliquer sur un lien faisans un server.transfer vers la
> page /dossier2/page2.aspx
>
> mais là mon problème c'est que Request Path me donne toujours :
> "dossier/page1.aspx" --> Donc il m'est impossible de savoir quel est le
> vrai chemin demander avec le server.transfer.
>
> Existe t il un moyen de toujours connaitre la vraie URL en cours malgré un
> server.transfer ?
>
> merci d'avance.
> fabrice
>





Avatar
Franck Quintana
Bonjour,

Dans le contexte de votre application vous-est il possible de remplacer
le Server.Transfer() par un Reponse.Redirect() ?

Franck Quintana
Active+ Software
http://www.activeplus.com
Avatar
Fabrice
Oui cela est possible. je voulais juste éviter cette solution.
mais il semble que malheusement cela ne soit pas possible.

merci..

"Franck Quintana" a écrit dans le message de news:
43e3bf59$0$1337$
Bonjour,

Dans le contexte de votre application vous-est il possible de remplacer le
Server.Transfer() par un Reponse.Redirect() ?

Franck Quintana
Active+ Software
http://www.activeplus.com


Avatar
Fabrice
non finalement je ne peux pas...
j'utilise le context qui ne fonctionne pas avec response.redirect !..
"Franck Quintana" a écrit dans le message de news:
43e3bf59$0$1337$
Bonjour,

Dans le contexte de votre application vous-est il possible de remplacer le
Server.Transfer() par un Reponse.Redirect() ?

Franck Quintana
Active+ Software
http://www.activeplus.com


Avatar
Franck Quintana
Bonjour,

Normalement l'objet HttpContext contient un objet Response qui permet le
redirect.
En général on utilise cette syntaxe
HttpContext.Current.Response.Redirect(string)


Franck Quintana
Active+ Software
http://www.activeplus.com