Url rewriter en asp

Résolu
cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008 - 19 avril 2006 à 15:54
cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008 - 21 avril 2006 à 02:15
Est-il possible de faire un url rewriter en asp et non en asp.net. Si oui devons nous installé un composant serveur ? J'aimerai avoir un peu d'éclairare sur ce sujet... merci !

7 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
21 avril 2006 à 01:33
Bonsoir,

Alors pour le referencement, c'est justement tout l'avantage de l'url rewriting. En fait peut etre que Nurgle c'est mal expliqué.

Quand tu vas sur la page rewrité, tu as un httpmodule de rewriting qui arrive, il analyse l'url, le rewriter fait donc un rewritepath vers la page non rewrité (et la c'est le drame à cause d'un bug dans certains cas bien compliqué) mais google ne voit rien de tout ca, le rewritepath se fait sur le serveur ! au final, google fait une requete vers une page rewrité, et recoit une réponse, en interne, la page rewrité est la réponse de la page codes.aspx?id=12345. Google ne voit rien du tout puisque pour lui la page non rewrité n'est pas accessible.

Pour la solution que je propose je détail.

Tu peux trés bien faire tourner un meme site à la fois avec du .net et du non .net c'est pas conseillé mais c'est possible (les variables sessions & co sont evidemment pas partagés, les applis sont évidement indépendantes). L'idée est alors de faire une application asp.net qui n'est qu'un module de rewriting (avec le web.config) et au final, tu fais ton rewritepath non pas sur une page .net mais sur une page asp3.

La seule contraite que je vois, c'est que les pages rewrité ne pourront pas être des pages .asp mais .aspx (ou html si tu pouvais configurer IIS...)

C'est pas une solution des plus propres mais ca devrait fonctionner :)


<HR>
Cyril - MVS - MCP
3
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
19 avril 2006 à 20:05
Bonjour Jackboy,

En effet, en ASP tu dois passer par un composant serveur pour faire de l'URL Rewriting.
Le plus souvent c'est par un filtre ISAPI que l'on intègre à IIS.
IsapiRewrite propose un filtre ISAPI pour faire cela, il y a même un article sur asp-php.net sur le sujet ICI

<hr size="2" width="100%">Nurgle (Antoine)
0
cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008
20 avril 2006 à 03:05
Il n'y a pas un moyen par des regexp par exemple ?? Je suis sur un serveur payant, mais je ne crois pas qu'il utilise ce genre de filtre, donc comment par le code ??? J'ai cru voir en dotnet, mais sous asp3 ??
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
20 avril 2006 à 10:57
En ASP3 tu es quasiment obligé d'utiliser un filtre ISAPI, qui peut être écrit en DotNet ou en ce que tu veux, et qui lui, va utiliser des RegExp pour traiter les Urls.

Pour le faire totalement en ASP3...ce serait difficile
Il y a bien une solution, elle consiste à utiliser les erreurs 404 :
Dans la console IIS, il suffit de définir comme adresse d'erreur 404 une page "/urlrewriting.asp", puis, dans le mappage des extensions, prendre l'extension .asp, faire "Modifier", puis décocher la case "Vérifier l'existence du fichier".
Ensuite, quand l'utilisateur demande "/Une-Url-Qui-N-Existe-Pas.asp", il sera redirigé vers "/urlrewriting.asp?404;http://www.tonsiteweb.com/Une-Url-Qui-N-Existe-Pas.asp"
et ensuite tu peux, dans urlrewriting.asp, via des RegExp, récupérer l'url demandée, et donc agir en conséquence, par exemple faire un :
Server.Execute("/page.asp?id=64655") ' ce qui correspondra à ton url
Response.End()

En théorie cette solution marche, mais bon, ça reste du bidouillage (je ne garantie rien !)

<hr size="2" width="100%">Nurgle (Antoine)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
20 avril 2006 à 12:55
Bonjour,

Une autre solution par le code, si ton serveur accepte asp.net tu peux faire juste un handler (.net) pour tes pages asp3, et par conséquent tu n'es pas obligé de migrer pour l'instant le site sur du .net ;)


<HR>
Cyril - MVS - MCP
0
cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008
21 avril 2006 à 01:20
Salut !

Peux tu préciser ton explication jesusonline ! Je ne comprend pas trop ce que tu veux dire et surtout la méthode à utiliser Handler .net via asp3 ?

Pour ce qui est de ta réponse Nurgle, crois tu que google et autre ne verrai pas cette subterfuge et donc ne référenceraient-ils pas bien ce site !?! Pour ce qui est des filtres ISAPI, j'ai fais mes recherches, mais les explication que j'ai trouvé (pour le moment) ne sont pas vraiment nombreuse...
0
cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008
21 avril 2006 à 02:15
Salut !

Merci beaucoup pour tes explications !!! Mais je ne pensais pas que cela étais si complexe à mettre en oeuvre, je vais donc passé à un autre appel héhé... Je vais convertir en dotnet plus tard, je crois que dotnet offre certaine possibilité à ce sujet...

Toujours aussi sympa ce Cyril ;)

a+
0
Rejoignez-nous