IMPLÉMENTER TRÈS FACILEMENT URLREWRITER (RÉÉCRITURE D'URL) EN .NET (GÉNIAL POUR
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
21 mai 2005 à 18:10
cs_agnesh
Messages postés5Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 6 mai 2009
-
18 mars 2009 à 15:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_agnesh
Messages postés5Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 6 mai 2009 18 mars 2009 à 15:12
J'utilise urlrewriter depuis un moment et voilà que cette fois il me fait bugger mon user control.
Je m'explique j'utilise pour toute les pages chapitre de mon site la redirection suivante :
<RewriterRule>
<LookFor>~/Chap_(.*)_(.*)_(.*)_(.*)\.html</LookFor>
<SendTo>~/Chap.aspx?lg=$1&code=$3&selectmenu=$2</SendTo>
</RewriterRule>
Mon problème vient du fait que lorsque je lance une action sur un bouton du genre authentification de l'utilisateur avec bouton de connection, il retourne vers la page Chap.aspx?lg=$1&code=$3&selectmenu=$2
mais il semble qu'il n'arrive pas à comprendre cette page et pour une raison que je n'ai pas encore réussi à comprendre au lieu de m'envoyer vers la page d'erreur du site défini dans mon global.asax, il préfère me renvoyer vers ma page d'accueil default.html et là je ne comprend pas pourquoi??
donc 2 questions :
Pourquoi ne puis je pas acceder à ma page
Chap.aspx?lg=$1&code=$3&selectmenu=$2
et pourquoi dans ce cas il me renvoie vers la page
default.html
HELP ???
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 4 juil. 2008 à 15:26
Je ne sais pas trop. Ce qu'il faut te donner comme principe pour savoir si tu peux ou pas utiliser la réécriture de l'url, c'est te demander si, par une expression régulière sur l'URL, tu peux récupérer les informations te permettant de rediriger vers une autre url en masquer.
Par exemple, si l'url de la requête (l'adresse demandée dans le lien) est www.mondomaine.com/435/ je peux récupérer le N° 435 par expression régulière, et rediriger vers www.mondomaine.com/Product/Detail.aspx?id=435
Mais si tu veux que toutes les pages de ton site demande la même url, tu n'auras aucune base pour retrouver ce que demande la requête.
Il y a une solution, mais elle est vraiment "Crade". Cela consiste à développer une page "master" en lui ajoutant des champs cacher. Pour passer d'une page à une autre, il faut simplement la poster via la méthode POST ou GET. Mais ce type de développement est obsolète depuis des années.
Amicalement,
barmat_ali
Messages postés3Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention 8 juin 2008 4 juil. 2008 à 13:45
oui pas d'objection sur ce que tu viens de dire,
j'ai le domaine www.mondomaine.com, j'ai ensuite 50 pages aspx dessous,www.mondomaine.com/page1.aspx, www.mondomaine.com/dossier/page2.aspx ....
si la DLL est bien faite, je dois pas reecrire l'url de chaque page.
Il fallait que je mette quelque chose dans le web.config, et ça marche ...
c'est possible?
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 4 juil. 2008 à 13:37
Oui, acheter le domaine www.abc.fr
Le domaine dans la barre d'adresse est relatif au dns et permet d'arriver sur le bon serveur (entête http).
La réécriture d'une url, ne peut techniquement pas prendre en charge le domaine.
Si la question était relative à une seule page pour le site masquée, tu as 3 solutions :
1) Réaliser des liens vers des dossiers et non vers des pages, et utiliser la réécriture d'url ou la "default document" pour rediriger.
2) Utiliser une iFrame dans la "default page".
3) utiliser une Frame dans la "default page".
En tout état de cause, à part la 1ère solution, le résultat sera un indice de référencement naturel déplorable.
La meilleure des technique est d'utiliser la réécriture d'url, en désignant les différentes url en pensant toujours à ce que va analyser le Bot (google, msn, etc...). Il faut préciser que la réécriture d'url à elle seule ne peut pas être une solution complète, mais qu'elle doit être composée avec en plus, l'analyse des titres, des descriptions, des mots clefs, etc ... dans le contexte du contenu des pages.
barmat_ali
Messages postés3Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention 8 juin 2008 4 juil. 2008 à 12:42
Bonjour, très urgent,
est ce qu'il ya un moyen pour que je puisse réécrire l'url de la sorte :
quelque soit le lien cliqué , j'ai toujours dans la barre d'adresse www.abc.fr
rien d'autre
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 21 avril 2008 à 17:38
Si tes Url à réécrire sont dans une base de données, alors il ne faut pas utiliser cette librairie lol.
Il faut simplement surcharger la méthode : Application_BeginRequest
dans le global.asax ... on ne peut plus simple (mais aussi plus lent !).
A mon avis ton concept d'aller chercher l'url a réécrire dans une base n'est pas bon.
(avis purement personnel)
cs_Alexis35
Messages postés44Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention 2 mai 2011 21 avril 2008 à 17:15
et sinon personnellement je n'arrive pas a rewriter mes URL en .html ...
cs_Alexis35
Messages postés44Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention 2 mai 2011 21 avril 2008 à 16:51
par exemple j'ai &transac=1 je vais chercher dans la table transaction a quoi correspond le 1 et je l'affiche dans la nouvelle url plutôt que de tout tester via des expressions regulieres...
cs_Alexis35
Messages postés44Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention 2 mai 2011 21 avril 2008 à 16:35
Bonjour,
D'abord merci pour cette source tres utile et surtout tres facile a mettre en place!
Maintenant là où ca se complique pour moi c'est que j'aimerais aller chercher en base les informations correspondant à mes URL en base pour pouvoir les afficher dans l'URL...
Cela est il possible?
Si Oui, Comment?
D'avance merci!
adecanck
Messages postés2Date d'inscriptionlundi 24 novembre 2003StatutMembreDernière intervention15 novembre 2006 15 nov. 2006 à 16:15
Hello,
merci pour la réponse, mais ca ne vient pas de là, j'ai trouvé le pb :
en fait, les urls réécrites, le sont avec une extension .html. Dans IIS, il faut donc lui dire tout simplement que les fichiers ayant une extension .html passent par le moteur asp.net..... Le serveur de Visual Studio s'en charge automatiquement apparemment....
Voili voilou
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 15 nov. 2006 à 13:57
hello,
Normalement, non, rien a faire sur IIS. par contre, ce qui peut expliquer le fonctionnement en local, et pas en distant, c'est la librairie. Si la librairie URLRewriter est dans ton GAC par exemple, il te faudra la publier dans le répertoire BIN de ton site, en production. Ceci n'est qu'une piste ...
adecanck
Messages postés2Date d'inscriptionlundi 24 novembre 2003StatutMembreDernière intervention15 novembre 2006 15 nov. 2006 à 09:22
Bonjour,
j'ai suivi toute la procédure d'utilisation de cette précieuse DLL.
Quand je suis dans Visual Studio 2005, que je compile/lance l'application web, et que j'utilise les URL réécrites, pas de pb, tout fonctionne très bien.
Par contre, quand je publie l'app web dans IIS 5 ou 6, et bien là ca ne fonctionne plus !!!
D'ou peut venir le problème ? il y'a apparemment qqchose à faire au niveau d'IIS !?
Merci d'avance !!
pachakamac
Messages postés1Date d'inscriptiondimanche 1 janvier 2006StatutMembreDernière intervention 9 août 2006 9 août 2006 à 11:54
Bonjour,
J'utilise depuis un moment URLRewriter et j'en suis très content.
Malheureusement je me trouve bloqué dans mon développement.
En effet, j'aurais besoin de récupérer dans mon code l'URL demandé dans le navigateur (celle du champs "Lookfor" du webconfig).
Y a t'il moyen de récupérer cette info ?
Merci, par avance de votre aide.
Alexandre
jolazoule
Messages postés55Date d'inscriptionmardi 7 janvier 2003StatutMembreDernière intervention21 août 2008 20 déc. 2005 à 16:48
Bonjour,
je viens de tomber sur cette source trés intéressante mais un peu compliquée à comprendre pour un debutant du .Net comme moi !!
Quelqu'un peut il m'aider ?
En fait j'ai un catalogue produit et chaque produit est consultable à l'url :
Quelqu'un pourrait t'il m'aider à écrire cette règle, car je n'y arrive pas ! En fait je veux juste ajouter un dossier famille ( matelas ds l'exemple ) et le nom du produit en nom de page.
Et il faut que ca marche pour n'importe quel produit.
Merci d'avance pour votre aide !
Johann
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 7 nov. 2005 à 19:30
Bonjour,
Pour répondre à tes questions :
1) que faire si votre url est de cette forme http://monsite/produit.aspx?idprod=61&Id=7&Cat=21&ISelect=1&idcat=0 Comme précisé ci-dessus, il faut écrire les <RewriterRule> en utilisant les expressions régulières pour éviter d'en écrire trop.
2) personnellement, j'ai simplement ajouté un champs <LINK> dans les tables "catégories", "articles",etc... ou je mets simplement le lien que je veux voir afficher, ce qui t'oblige à remplacer uniquement le HyperLink1.NavigateUrl
3) Rien à réécrire, car ce système avec la dll URLRewriter.dll ne change pas le fonctionnement de tes controles, car même si l'url affichée est différente, les paramètres passent quand même.
Amicalement,
Bon code !
dedzep
Messages postés54Date d'inscriptionvendredi 1 février 2002StatutMembreDernière intervention 8 février 2007 7 nov. 2005 à 11:49
3) que se passe t-il si sur une page j'utilise des "Controles" eux memes contenant des liens ?
Bref dois-je réécrire tout mon site comme en php ou l'utilisation conjointe de la DLL URLRewriter.dll et des <RewriterRule> dans le web.config suffit ?
cs_hsii04
Messages postés5Date d'inscriptionlundi 17 juin 2002StatutMembreDernière intervention23 août 2005 23 août 2005 à 09:22
Bonjour,
J'ai un peu de mal à utiliser le regexp, pouvez-vous m'aider à l'utiliser pour des pages comme celles-ci :
<RewriterRule ProduitID="62" Page="Marchands">
<LookFor>~/Marchands/Appareil-photo-numerique-Canon-Digital-IXUS-i5-Argent\.aspx</LookFor>
<SendTo>~/ListeMarchands.aspx?pID=62</SendTo>
</RewriterRule>
<RewriterRule ProduitID="62" Page="FicheTechnique">
<LookFor>~/FicheTechnique/Appareil-photo-numerique-Canon-Digital-IXUS-i5-Argent\.aspx</LookFor>
<SendTo>~/Produit.aspx?pID=62</SendTo>
</RewriterRule>
<RewriterRule ProduitID="62" Page="Critiques">
<LookFor>~/Critiques/Appareil-photo-numerique-Canon-Digital-IXUS-i5-Argent\.aspx</LookFor>
<SendTo>~/ListeCritiques.aspx?pID=62</SendTo>
</RewriterRule>
<RewriterRule ProduitID="63" Page="Marchands">
<LookFor>~/Marchands/Appareil-photo-numerique-Canon-PowerShot-A300\.aspx</LookFor>
<SendTo>~/ListeMarchands.aspx?pID=63</SendTo>
</RewriterRule>
<RewriterRule ProduitID="63" Page="FicheTechnique">
<LookFor>~/FicheTechnique/Appareil-photo-numerique-Canon-PowerShot-A300\.aspx</LookFor>
<SendTo>~/Produit.aspx?pID=63</SendTo>
</RewriterRule>
<RewriterRule ProduitID="63" Page="Critiques">
<LookFor>~/Critiques/Appareil-photo-numerique-Canon-PowerShot-A300\.aspx</LookFor>
<SendTo>~/ListeCritiques.aspx?pID=63</SendTo>
</RewriterRule>
Merci de votre aide.
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 22 août 2005 à 08:32
en effet HSII04, jesusonline précisait dans un commentaire précédent que tu peux utiliser des expression régulière afin de configurer ton rewriterRule.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 21 août 2005 à 15:50
relis mon premier commentaire et tu verras qu'il est tout à fait possible de faire des regexp ...
cs_hsii04
Messages postés5Date d'inscriptionlundi 17 juin 2002StatutMembreDernière intervention23 août 2005 21 août 2005 à 15:01
Bonjour,
J'utilise URLRewriter de MSDN pour mon site (un comparateur de prix), j'ai enormément de produits dont l'url est à réécrire. Mon problème est que si je crée un <RewriterRule> pour chaque produits, mon Web.config va exploser. J'aimerai savoir si je pouvais utiliser soit un regex ou soit créer <RewriterRule> dynamiquement lorsque l'on clique sur un produit.
Si quelqu'un pouvait m'aider ou même me proposer une idée meilleure, je suis preneur.
Merci d'avance
AnnuMada
Messages postés29Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention 2 mai 2006 10 juin 2005 à 10:24
Il est déjà là mais pour du 128 il vaut presque 200? par mois.
Mais tout cela ne regle pas nom probleme.
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 10 juin 2005 à 10:16
ASP.NET WebMatrix ne fait que 1,3 Mo, ça doit le faire :-)
Courage l'adsl viendra aussi chez toi ...
AnnuMada
Messages postés29Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention 2 mai 2006 10 juin 2005 à 07:12
Ok merci de l'infos.
Ici on est un peu au bout du monde les infos arrive difficillement.
Pour dire je suis connecté à 33 000 actuellement.
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 9 juin 2005 à 19:20
Tu pourra déjà faire plus de chose qu'avec Dreamweaver pour du .net
Amicalement,
AnnuMada
Messages postés29Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention 2 mai 2006 9 juin 2005 à 14:18
C'est déjà fait.!!
Oui je sais mais comment faire.
Visual studio est trop trop chére à Madagascar.
On fait avec ce que l'on peu
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 9 juin 2005 à 13:52
met ta dll, dans le dossier bin de ton application
en tout cas faire du dev asp.net avec dreamweaver tu passes à coté de beaucoup de choses ...
AnnuMada
Messages postés29Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention 2 mai 2006 9 juin 2005 à 13:48
Bonjour,
Toujour rien!!!!
J'ai retiré la directive
tu dit
"Ouvrez le projet WEB de votre site, et ajoutez une référence sur cette dll."
c'est peut ètre là que cela coince.
Je travail avec Dreamweawer
Sous XP PRO SP2
y il a t'il une manip a faire sous IIS
voici mon web.config
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 9 juin 2005 à 12:01
bonjour,
Retire la directive dans ta page, car tu n'as rien a ajouter dans la page.
Tu as juste à modifier le Web.config
Voila pour exemple mon Web.config sur un de mes sites ou tout est opérationnel.
Pour les dossiers, si on a pas accés au config de IIS, il faudra créer un dossier avec un default.aspx vide dedans, sinon dans IIS : propriété du site web > onglet repertoire virtuelle puis configuration, pour l'extension aspx vous decochez "verifier l'existence du fichier" il faut bien sur aussi que default.aspx soit la premiere page par défaut.
Je suis pas sur de cette astuce, et j'ai plus de site web, utilisant cette technique mais ca doit marcher :)
18 mars 2009 à 15:12
Je m'explique j'utilise pour toute les pages chapitre de mon site la redirection suivante :
<RewriterRule>
<LookFor>~/Chap_(.*)_(.*)_(.*)_(.*)\.html</LookFor>
<SendTo>~/Chap.aspx?lg=$1&code=$3&selectmenu=$2</SendTo>
</RewriterRule>
Mon problème vient du fait que lorsque je lance une action sur un bouton du genre authentification de l'utilisateur avec bouton de connection, il retourne vers la page Chap.aspx?lg=$1&code=$3&selectmenu=$2
mais il semble qu'il n'arrive pas à comprendre cette page et pour une raison que je n'ai pas encore réussi à comprendre au lieu de m'envoyer vers la page d'erreur du site défini dans mon global.asax, il préfère me renvoyer vers ma page d'accueil default.html et là je ne comprend pas pourquoi??
donc 2 questions :
Pourquoi ne puis je pas acceder à ma page
Chap.aspx?lg=$1&code=$3&selectmenu=$2
et pourquoi dans ce cas il me renvoie vers la page
default.html
HELP ???
4 juil. 2008 à 15:26
Par exemple, si l'url de la requête (l'adresse demandée dans le lien) est www.mondomaine.com/435/ je peux récupérer le N° 435 par expression régulière, et rediriger vers www.mondomaine.com/Product/Detail.aspx?id=435
Mais si tu veux que toutes les pages de ton site demande la même url, tu n'auras aucune base pour retrouver ce que demande la requête.
Il y a une solution, mais elle est vraiment "Crade". Cela consiste à développer une page "master" en lui ajoutant des champs cacher. Pour passer d'une page à une autre, il faut simplement la poster via la méthode POST ou GET. Mais ce type de développement est obsolète depuis des années.
Amicalement,
4 juil. 2008 à 13:45
j'ai le domaine www.mondomaine.com, j'ai ensuite 50 pages aspx dessous,www.mondomaine.com/page1.aspx, www.mondomaine.com/dossier/page2.aspx ....
si la DLL est bien faite, je dois pas reecrire l'url de chaque page.
Il fallait que je mette quelque chose dans le web.config, et ça marche ...
c'est possible?
4 juil. 2008 à 13:37
Le domaine dans la barre d'adresse est relatif au dns et permet d'arriver sur le bon serveur (entête http).
La réécriture d'une url, ne peut techniquement pas prendre en charge le domaine.
Si la question était relative à une seule page pour le site masquée, tu as 3 solutions :
1) Réaliser des liens vers des dossiers et non vers des pages, et utiliser la réécriture d'url ou la "default document" pour rediriger.
2) Utiliser une iFrame dans la "default page".
3) utiliser une Frame dans la "default page".
En tout état de cause, à part la 1ère solution, le résultat sera un indice de référencement naturel déplorable.
La meilleure des technique est d'utiliser la réécriture d'url, en désignant les différentes url en pensant toujours à ce que va analyser le Bot (google, msn, etc...). Il faut préciser que la réécriture d'url à elle seule ne peut pas être une solution complète, mais qu'elle doit être composée avec en plus, l'analyse des titres, des descriptions, des mots clefs, etc ... dans le contexte du contenu des pages.
4 juil. 2008 à 12:42
est ce qu'il ya un moyen pour que je puisse réécrire l'url de la sorte :
quelque soit le lien cliqué , j'ai toujours dans la barre d'adresse www.abc.fr
rien d'autre
21 avril 2008 à 17:38
Il faut simplement surcharger la méthode : Application_BeginRequest
dans le global.asax ... on ne peut plus simple (mais aussi plus lent !).
A mon avis ton concept d'aller chercher l'url a réécrire dans une base n'est pas bon.
(avis purement personnel)
21 avril 2008 à 17:15
21 avril 2008 à 16:51
21 avril 2008 à 16:35
D'abord merci pour cette source tres utile et surtout tres facile a mettre en place!
Maintenant là où ca se complique pour moi c'est que j'aimerais aller chercher en base les informations correspondant à mes URL en base pour pouvoir les afficher dans l'URL...
Cela est il possible?
Si Oui, Comment?
D'avance merci!
15 nov. 2006 à 16:15
merci pour la réponse, mais ca ne vient pas de là, j'ai trouvé le pb :
en fait, les urls réécrites, le sont avec une extension .html. Dans IIS, il faut donc lui dire tout simplement que les fichiers ayant une extension .html passent par le moteur asp.net..... Le serveur de Visual Studio s'en charge automatiquement apparemment....
Voili voilou
15 nov. 2006 à 13:57
Normalement, non, rien a faire sur IIS. par contre, ce qui peut expliquer le fonctionnement en local, et pas en distant, c'est la librairie. Si la librairie URLRewriter est dans ton GAC par exemple, il te faudra la publier dans le répertoire BIN de ton site, en production. Ceci n'est qu'une piste ...
15 nov. 2006 à 09:22
j'ai suivi toute la procédure d'utilisation de cette précieuse DLL.
Quand je suis dans Visual Studio 2005, que je compile/lance l'application web, et que j'utilise les URL réécrites, pas de pb, tout fonctionne très bien.
Par contre, quand je publie l'app web dans IIS 5 ou 6, et bien là ca ne fonctionne plus !!!
D'ou peut venir le problème ? il y'a apparemment qqchose à faire au niveau d'IIS !?
Merci d'avance !!
9 août 2006 à 11:54
J'utilise depuis un moment URLRewriter et j'en suis très content.
Malheureusement je me trouve bloqué dans mon développement.
En effet, j'aurais besoin de récupérer dans mon code l'URL demandé dans le navigateur (celle du champs "Lookfor" du webconfig).
Y a t'il moyen de récupérer cette info ?
Merci, par avance de votre aide.
Alexandre
20 déc. 2005 à 16:48
je viens de tomber sur cette source trés intéressante mais un peu compliquée à comprendre pour un debutant du .Net comme moi !!
Quelqu'un peut il m'aider ?
En fait j'ai un catalogue produit et chaque produit est consultable à l'url :
http://localhost/monbebedamour/fich_prod.aspx?&id=12&nom=Matelas_latex_100%__70x140&fam=matelas
et je voudrais la réecrire sous l'url suivante:
http://localhost/monbebedamour/matelas/Matelas_latex_100%__70x140.aspx
Quelqu'un pourrait t'il m'aider à écrire cette règle, car je n'y arrive pas ! En fait je veux juste ajouter un dossier famille ( matelas ds l'exemple ) et le nom du produit en nom de page.
Et il faut que ca marche pour n'importe quel produit.
Merci d'avance pour votre aide !
Johann
7 nov. 2005 à 19:30
Pour répondre à tes questions :
1) que faire si votre url est de cette forme http://monsite/produit.aspx?idprod=61&Id=7&Cat=21&ISelect=1&idcat=0
Comme précisé ci-dessus, il faut écrire les <RewriterRule> en utilisant les expressions régulières pour éviter d'en écrire trop.
2) personnellement, j'ai simplement ajouté un champs <LINK> dans les tables "catégories", "articles",etc... ou je mets simplement le lien que je veux voir afficher, ce qui t'oblige à remplacer uniquement le HyperLink1.NavigateUrl
3) Rien à réécrire, car ce système avec la dll URLRewriter.dll ne change pas le fonctionnement de tes controles, car même si l'url affichée est différente, les paramètres passent quand même.
Amicalement,
Bon code !
7 nov. 2005 à 11:49
que de questions!
1) que faire si votre url est de cette forme http://monsite/produit.aspx?idprod=61&Id=7&Cat=21&ISelect=1&idcat=0
2) suis-je obligé de réécrire tout mon site ?
exemple dans un datagrid
' NavigateURL='<%# "produit.aspx?idprod=" & DataBinder.eval(Container.DataItem,"id_produit") & "&Id=" & Request("Id") & "&Cat=" & Request("Cat") & "&ISelect=" & request("ISelect") & "&idcat=" & request("idcat") %>'>
3) que se passe t-il si sur une page j'utilise des "Controles" eux memes contenant des liens ?
Bref dois-je réécrire tout mon site comme en php ou l'utilisation conjointe de la DLL URLRewriter.dll et des <RewriterRule> dans le web.config suffit ?
23 août 2005 à 09:22
J'ai un peu de mal à utiliser le regexp, pouvez-vous m'aider à l'utiliser pour des pages comme celles-ci :
<RewriterRule ProduitID="62" Page="Marchands">
<LookFor>~/Marchands/Appareil-photo-numerique-Canon-Digital-IXUS-i5-Argent\.aspx</LookFor>
<SendTo>~/ListeMarchands.aspx?pID=62</SendTo>
</RewriterRule>
<RewriterRule ProduitID="62" Page="FicheTechnique">
<LookFor>~/FicheTechnique/Appareil-photo-numerique-Canon-Digital-IXUS-i5-Argent\.aspx</LookFor>
<SendTo>~/Produit.aspx?pID=62</SendTo>
</RewriterRule>
<RewriterRule ProduitID="62" Page="Critiques">
<LookFor>~/Critiques/Appareil-photo-numerique-Canon-Digital-IXUS-i5-Argent\.aspx</LookFor>
<SendTo>~/ListeCritiques.aspx?pID=62</SendTo>
</RewriterRule>
<RewriterRule ProduitID="63" Page="Marchands">
<LookFor>~/Marchands/Appareil-photo-numerique-Canon-PowerShot-A300\.aspx</LookFor>
<SendTo>~/ListeMarchands.aspx?pID=63</SendTo>
</RewriterRule>
<RewriterRule ProduitID="63" Page="FicheTechnique">
<LookFor>~/FicheTechnique/Appareil-photo-numerique-Canon-PowerShot-A300\.aspx</LookFor>
<SendTo>~/Produit.aspx?pID=63</SendTo>
</RewriterRule>
<RewriterRule ProduitID="63" Page="Critiques">
<LookFor>~/Critiques/Appareil-photo-numerique-Canon-PowerShot-A300\.aspx</LookFor>
<SendTo>~/ListeCritiques.aspx?pID=63</SendTo>
</RewriterRule>
Merci de votre aide.
22 août 2005 à 08:32
21 août 2005 à 15:50
21 août 2005 à 15:01
J'utilise URLRewriter de MSDN pour mon site (un comparateur de prix), j'ai enormément de produits dont l'url est à réécrire. Mon problème est que si je crée un <RewriterRule> pour chaque produits, mon Web.config va exploser. J'aimerai savoir si je pouvais utiliser soit un regex ou soit créer <RewriterRule> dynamiquement lorsque l'on clique sur un produit.
Si quelqu'un pouvait m'aider ou même me proposer une idée meilleure, je suis preneur.
Merci d'avance
10 juin 2005 à 10:24
Mais tout cela ne regle pas nom probleme.
10 juin 2005 à 10:16
Courage l'adsl viendra aussi chez toi ...
10 juin 2005 à 07:12
Ici on est un peu au bout du monde les infos arrive difficillement.
Pour dire je suis connecté à 33 000 actuellement.
9 juin 2005 à 19:20
Tu peux télécharger ASP.NET WEBMATRIX. voir Url ci-dessous :
http://www.asp.net/webmatrix/default.aspx?tabIndex=4&tabId=46
Tu pourra déjà faire plus de chose qu'avec Dreamweaver pour du .net
Amicalement,
9 juin 2005 à 14:18
Oui je sais mais comment faire.
Visual studio est trop trop chére à Madagascar.
On fait avec ce que l'on peu
9 juin 2005 à 13:52
en tout cas faire du dev asp.net avec dreamweaver tu passes à coté de beaucoup de choses ...
9 juin 2005 à 13:48
Toujour rien!!!!
J'ai retiré la directive
tu dit
"Ouvrez le projet WEB de votre site, et ajoutez une référence sur cette dll."
c'est peut ètre là que cela coince.
Je travail avec Dreamweawer
Sous XP PRO SP2
y il a t'il une manip a faire sous IIS
voici mon web.config
<configuration>
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>http://localhost/madaplan/antananarivo/quartier/analakely\.aspx</LookFor>
<SendTo>http://localhost/madaplan/antananarivo/quartier/index.aspx?quartier=ANALAKELY</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<httpModules>
</httpModules>
<httpHandlers>
</httpHandlers>
</system.web>
</configuration>
9 juin 2005 à 12:01
Retire la directive dans ta page, car tu n'as rien a ajouter dans la page.
Tu as juste à modifier le Web.config
Voila pour exemple mon Web.config sur un de mes sites ou tout est opérationnel.
<configuration>
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/cartes_virtuelles_de_noel\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=1&title=sexy%20homme</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_virtuelles_amour_tendresse\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=4&title=AMOUR</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_virtuelles_adult_sexy_femme\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=5&title=femme</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_virtuelles_adult_sexy_homme\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=6&title=sexy%20homme</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_virtuelles_saint_valentin\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=8&title=valentin</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_virtuelles_adult_saint_valentin\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=9&title=valadult</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_test_jerome\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=10&title=testing</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<httpModules>
</httpModules>
<httpHandlers>
</httpHandlers>
<compilation defaultLanguage="vb" debug="true" />
<customErrors mode="Off" />
<forms name="OZMStoreAuth" loginUrl="Login.aspx" protection="All" path="/" timeout="20" />
<trace enabled="true" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="false" />
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
</system.web>
<location path="admin">
<system.web>
<deny users="?" />
</system.web>
</location>
</configuration>
9 juin 2005 à 10:53
Voici mon code:
Sur ma page:
<%@ Register TagPrefix="URLRewriter" Namespace="URLRewriter" Assembly="URLRewriter"%>
dans le web config:
<configuration>
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/quartier/(\w{1,})\.aspx</LookFor>
<SendTo><![CDATA[~/quartier/index.aspx?quartier=$1]]></SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<httpModules>
</httpModules>
<httpHandlers>
</httpHandlers>
</system.web>
</configuration>
Ou est l'erreur ???
24 mai 2005 à 11:00
<RewriterRule>
<LookFor>~/plantana/(\w{1,})/antananarivo-quartier\.aspx</LookFor>
<SendTo><![CDATA[~/plantana/antananarivo-quartier.aspx?quartier=$2&Submit=Recherche]]></SendTo>
</RewriterRule>
24 mai 2005 à 10:50
j'ai une url écrite à partir d'un formulaire
http://localhost/plantana/antananarivo-quartier.aspx?quartier=analakely&Submit=Recherche
comment faire pour la réécrire ainsi
http://localhost/plantana/analakely/antananarivo-quartier.aspx
Merci d'avance
21 mai 2005 à 18:10
<RewriterRule>
<LookFor>~/francais/(\w{1,})\.aspx</LookFor>
<SendTo><![CDATA[~/$2.aspx?lang=fr]]></SendTo>
</RewriterRule>
Pour les dossiers, si on a pas accés au config de IIS, il faudra créer un dossier avec un default.aspx vide dedans, sinon dans IIS : propriété du site web > onglet repertoire virtuelle puis configuration, pour l'extension aspx vous decochez "verifier l'existence du fichier" il faut bien sur aussi que default.aspx soit la premiere page par défaut.
Je suis pas sur de cette astuce, et j'ai plus de site web, utilisant cette technique mais ca doit marcher :)
Cyril