OVH Cloud OVH Cloud

URL sans extension

14 réponses
Avatar
Aurel
Bonjour,

je cherche a pouvoir ecrire une url comme ceci
http://www.monsite.com/UnNomAuHasard/UnAutreNomAuHasard/
(UnNomAuHasard et UnAutreNomAuHasard ne sont pas des repertoires du site =
virtuel)
et cet url doit me renvoyer cette adresse la:
http://www.monsite.com/UnNomAuHasard/UnAutreNomAuHasard/Accueil.ashx

Je n'arrive pas a acceder a la 1ere adresse dans mon httpmodule j'ai de
suite une erreur 404.
J'utilise deja l'urlrewriting...ms la je vois pa!
dans mon httpmodule si j'ecri
OneBeginRequest{
Response.Write(HttpContext.Current.Request.Url.AbsolutePath);
Response.End();
}

J'arrive même pas à afficher du texte, j'ai de suite la page d'erreur 404
qui ne trouve pa la page !

si qqn a une idée, ca m'arrangerait bcp... :)

Merci

Bonne journée

Aurel

4 réponses

1 2
Avatar
Simon Mourier [SoftFluent]
Pas forcément. On peut utiliser un HttpHandler (cf l'interace IHttpHandler).
Un handler est associé à un type de fichier précis, mais il y a une astuce
qui est assez peu connue finalement. En effet, le type de fichier n'a pas
besoin forcément de se trouver à la fin de l'url.

Donc si par exemple je déclare que l'extention .machin est gérée par mon
HttpHandler, cela signifie qu'il gérera tous les chemins qui contiennent
l'extension .machin *n'importe où* dans le chemin...

donc:

http://serveur/path1/pathX/.machin/pathY/PathZ/truc.nimportequoi?arg=value&etc...
http://serveur/path1/pathX/.machin/pathY/PathZ/truc.doc
http://serveur/.machin/pathY/PathZ/

seront tous traités par mon handler ASP.NET sans ISAPI, ce qui est presque
équivalent à un filtre ISAPI. Il y a juste une contrainte sur le chemin
parent.

Simon.
www.softfluent.com


"Paul Bacelar" a écrit dans le message
de news:
"Aurel" wrote in message
news:%
Bonjour,

je cherche a pouvoir ecrire une url comme ceci
http://www.monsite.com/UnNomAuHasard/UnAutreNomAuHasard/
(UnNomAuHasard et UnAutreNomAuHasard ne sont pas des repertoires du site
= virtuel)
et cet url doit me renvoyer cette adresse la:
http://www.monsite.com/UnNomAuHasard/UnAutreNomAuHasard/Accueil.ashx

Je n'arrive pas a acceder a la 1ere adresse dans mon httpmodule j'ai de
suite une erreur 404.
J'utilise deja l'urlrewriting...ms la je vois pa!
dans mon httpmodule si j'ecri
OneBeginRequest{
Response.Write(HttpContext.Current.Request.Url.AbsolutePath);
Response.End();
}

J'arrive même pas à afficher du texte, j'ai de suite la page d'erreur 404
qui ne trouve pa la page !

si qqn a une idée, ca m'arrangerait bcp... :)

Merci

Bonne journée

Aurel




C'est normal, car ASP.NET n'est présent que dans un programme satellite à
IIS (aspnet_wp.exe) et IIS ne communique avec celui-ci que lorsque le
chemin montre à IIS qu'il faut communiquer avec lui (via une dll ISAPI).

http://msdn.microsoft.com/msdnmag/issues/01/11/security/

Vous êtes bon pour une ISAPI dll

http://msdn.microsoft.com/msdnmag/issues/03/11/ASPColumn/


--
Paul Bacelar
MVP VC++





Avatar
Aurel
Merci ce peut etre une solution ms ce n'est pas facile a retenir...
A se souvenir ;)

A+

Aurel



"Simon Mourier [SoftFluent]" a écrit dans le
message de news:
Pas forcément. On peut utiliser un HttpHandler (cf l'interace
IHttpHandler). Un handler est associé à un type de fichier précis, mais il
y a une astuce qui est assez peu connue finalement. En effet, le type de
fichier n'a pas besoin forcément de se trouver à la fin de l'url.

Donc si par exemple je déclare que l'extention .machin est gérée par mon
HttpHandler, cela signifie qu'il gérera tous les chemins qui contiennent
l'extension .machin *n'importe où* dans le chemin...

donc:

http://serveur/path1/pathX/.machin/pathY/PathZ/truc.nimportequoi?arg=value&etc...
http://serveur/path1/pathX/.machin/pathY/PathZ/truc.doc
http://serveur/.machin/pathY/PathZ/

seront tous traités par mon handler ASP.NET sans ISAPI, ce qui est presque
équivalent à un filtre ISAPI. Il y a juste une contrainte sur le chemin
parent.

Simon.
www.softfluent.com


"Paul Bacelar" a écrit dans le message
de news:
"Aurel" wrote in message
news:%
Bonjour,

je cherche a pouvoir ecrire une url comme ceci
http://www.monsite.com/UnNomAuHasard/UnAutreNomAuHasard/
(UnNomAuHasard et UnAutreNomAuHasard ne sont pas des repertoires du site
= virtuel)
et cet url doit me renvoyer cette adresse la:
http://www.monsite.com/UnNomAuHasard/UnAutreNomAuHasard/Accueil.ashx

Je n'arrive pas a acceder a la 1ere adresse dans mon httpmodule j'ai de
suite une erreur 404.
J'utilise deja l'urlrewriting...ms la je vois pa!
dans mon httpmodule si j'ecri
OneBeginRequest{
Response.Write(HttpContext.Current.Request.Url.AbsolutePath);
Response.End();
}

J'arrive même pas à afficher du texte, j'ai de suite la page d'erreur
404 qui ne trouve pa la page !

si qqn a une idée, ca m'arrangerait bcp... :)

Merci

Bonne journée

Aurel




C'est normal, car ASP.NET n'est présent que dans un programme satellite à
IIS (aspnet_wp.exe) et IIS ne communique avec celui-ci que lorsque le
chemin montre à IIS qu'il faut communiquer avec lui (via une dll ISAPI).

http://msdn.microsoft.com/msdnmag/issues/01/11/security/

Vous êtes bon pour une ISAPI dll

http://msdn.microsoft.com/msdnmag/issues/03/11/ASPColumn/


--
Paul Bacelar
MVP VC++









Avatar
Aurel
Merci ce peut etre une solution ms ce n'est pas facile a retenir...
A se souvenir ;)

A+

Aurel



"Simon Mourier [SoftFluent]" a écrit dans le
message de news:
Pas forcément. On peut utiliser un HttpHandler (cf l'interace
IHttpHandler). Un handler est associé à un type de fichier précis, mais il
y a une astuce qui est assez peu connue finalement. En effet, le type de
fichier n'a pas besoin forcément de se trouver à la fin de l'url.

Donc si par exemple je déclare que l'extention .machin est gérée par mon
HttpHandler, cela signifie qu'il gérera tous les chemins qui contiennent
l'extension .machin *n'importe où* dans le chemin...

donc:

http://serveur/path1/pathX/.machin/pathY/PathZ/truc.nimportequoi?arg=value&etc...
http://serveur/path1/pathX/.machin/pathY/PathZ/truc.doc
http://serveur/.machin/pathY/PathZ/

seront tous traités par mon handler ASP.NET sans ISAPI, ce qui est presque
équivalent à un filtre ISAPI. Il y a juste une contrainte sur le chemin
parent.

Simon.
www.softfluent.com


"Paul Bacelar" a écrit dans le message
de news:
"Aurel" wrote in message
news:%
Bonjour,

je cherche a pouvoir ecrire une url comme ceci
http://www.monsite.com/UnNomAuHasard/UnAutreNomAuHasard/
(UnNomAuHasard et UnAutreNomAuHasard ne sont pas des repertoires du site
= virtuel)
et cet url doit me renvoyer cette adresse la:
http://www.monsite.com/UnNomAuHasard/UnAutreNomAuHasard/Accueil.ashx

Je n'arrive pas a acceder a la 1ere adresse dans mon httpmodule j'ai de
suite une erreur 404.
J'utilise deja l'urlrewriting...ms la je vois pa!
dans mon httpmodule si j'ecri
OneBeginRequest{
Response.Write(HttpContext.Current.Request.Url.AbsolutePath);
Response.End();
}

J'arrive même pas à afficher du texte, j'ai de suite la page d'erreur
404 qui ne trouve pa la page !

si qqn a une idée, ca m'arrangerait bcp... :)

Merci

Bonne journée

Aurel




C'est normal, car ASP.NET n'est présent que dans un programme satellite à
IIS (aspnet_wp.exe) et IIS ne communique avec celui-ci que lorsque le
chemin montre à IIS qu'il faut communiquer avec lui (via une dll ISAPI).

http://msdn.microsoft.com/msdnmag/issues/01/11/security/

Vous êtes bon pour une ISAPI dll

http://msdn.microsoft.com/msdnmag/issues/03/11/ASPColumn/


--
Paul Bacelar
MVP VC++









Avatar
Aurel
Dans ce cas ce n'est plus la peine d'utiliser la réecriture d'url...

Merci

Aurel



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

pourquoi ne pas rajouter des QueryString pour resoudre le probleme?

exp:
pour le cas1: www.monsite.com/Essai1/Accueil.ashx?cas=1
cas2: www.monsite.com/Essai1/Accueil.ashx?cas=2

j'espere que c'est ca le probleme!!!

"Aurel" a écrit :

Bonjour,

merci ms aucun repertoire n'existe !

mon url peut s'ecrire www.monsite.com/Essai1/Essai2/Accueil.ashx
ou bien www.monsite.com/Essai1/Accueil.ashx
la seule différence sera qu'avec Essai2 je changerai le design de la
page...donc je ne peux pa créer de repertoire pour toutes les situations
possibles !

Merci

Aurel

"Laurent Jordi" <laurent.jordi@(xxx)wanadoo.fr> a écrit dans le message
de
news:
> Salut,
>
> Il te suffit d'inscrire les pages que tu ne veux pas faire apparaître
> dans
> la liste des pages par défaut du site Web.
>
> Pour se faire, cliques btdroit sur ton site Web dans l'arborescence iis
> va dans l'onglet documents
> ajoute le nom des pages
>
> Ainsi, lorsque tu donne l'adresse d'un répertoire, c'est
> automatiquement
> une des pages par défaut qui est affichée.
>
> Tu peux également et toujours appeler une page qui s'appelle
> default.aspx
> dans chaque répertoire...
>
> Cela t'aide-t-il ?
>
> @+
>
> Laurent
>
>
> "Aurel" a écrit dans le message de news:
>
>> Ok merci à tous les deux je vais étudier ca...
>> Heureusement qu'il y a la MSDN ;)
>>
>> A+
>>
>> Aurel
>>
>>
>>
>> "Paul Bacelar" a écrit dans le
>> message de news:
>>> "Aurel" wrote in message
>>> news:%
>>>> Bonjour,
>>>>
>>>> je cherche a pouvoir ecrire une url comme ceci
>>>> http://www.monsite.com/UnNomAuHasard/UnAutreNomAuHasard/
>>>> (UnNomAuHasard et UnAutreNomAuHasard ne sont pas des repertoires du
>>>> site = virtuel)
>>>> et cet url doit me renvoyer cette adresse la:
>>>> http://www.monsite.com/UnNomAuHasard/UnAutreNomAuHasard/Accueil.ashx
>>>>
>>>> Je n'arrive pas a acceder a la 1ere adresse dans mon httpmodule j'ai
>>>> de
>>>> suite une erreur 404.
>>>> J'utilise deja l'urlrewriting...ms la je vois pa!
>>>> dans mon httpmodule si j'ecri
>>>> OneBeginRequest{
>>>> Response.Write(HttpContext.Current.Request.Url.AbsolutePath);
>>>> Response.End();
>>>> }
>>>>
>>>> J'arrive même pas à afficher du texte, j'ai de suite la page
>>>> d'erreur
>>>> 404 qui ne trouve pa la page !
>>>>
>>>> si qqn a une idée, ca m'arrangerait bcp... :)
>>>>
>>>> Merci
>>>>
>>>> Bonne journée
>>>>
>>>> Aurel
>>>>
>>>
>>> C'est normal, car ASP.NET n'est présent que dans un programme
>>> satellite
>>> à IIS (aspnet_wp.exe) et IIS ne communique avec celui-ci que lorsque
>>> le
>>> chemin montre à IIS qu'il faut communiquer avec lui (via une dll
>>> ISAPI).
>>>
>>> http://msdn.microsoft.com/msdnmag/issues/01/11/security/
>>>
>>> Vous êtes bon pour une ISAPI dll
>>>
>>> http://msdn.microsoft.com/msdnmag/issues/03/11/ASPColumn/
>>>
>>>
>>> --
>>> Paul Bacelar
>>> MVP VC++
>>>
>>>
>>>
>>
>>
>
>







1 2