begin process at 2012 02 05 00:31:07
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > IMPLÉMENTER TRÈS FACILEMENT URLREWRITER (RÉÉCRITURE D'URL) EN .NET (GÉNIAL POUR GOOGLE)

IMPLÉMENTER TRÈS FACILEMENT URLREWRITER (RÉÉCRITURE D'URL) EN .NET (GÉNIAL POUR GOOGLE)


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :implement, implémenter, urlrewriting, réécriture, url Niveau :Initié Date de création :21/05/2005 Vu / téléchargé :22 097 / 642

Auteur : vladam

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (32)
Ajouter un commentaire et/ou une note


 Description

Bonjour,

Dernièrement, je vous donnais une url pour vous donner des pistes sur l'URL REWRITING . Plusieurs personnes m'ont contacté pour implémenter cette fonction dans leurs sites. Voici donc une leçon très simple pour y arriver en ASP.NET SANS CODER !

Tout d'abord une petite explication :
La réécriture d'url est une fonction qui permettra à google (par exemple) de lire les noms des pages de votre site comme vous le souhaitez, et plus comme la page est vraiment nommé.
Par exemple :
Vous avez un lien sur votre site du type ~/themes.aspx?id=45 qui pointe sur une page d'affichage de news traitant des cartes-virtuelles d'amour
Sans la réécriture d'Url google comprends http://www.monsite.com/themes.aspx?id=45 (cette page n'est pas explicite pour google).
Une fois votre réécriture d'url implémentée GOOGLE comprendras http://www.monsite.com/cartes_virtuelles_amour.asp x et pour lui, c'est très explicite si en plus les META TITLE, KEYWORD et DESCRIPTION correspondent !

Voila donc comment ajouter cette fonctionnalité très facilement dans votre site !
ATTENTION ! CECI EST VALABLE POUR LES SITES EN .NET (VB.NET, C#, ...)

Bonne intégration

Vladam
pour vous servir

Source

  • 1°) Téléchargez le composant URLRewriter.dll (dans le ZIP) et copiez le dans le répertoire /bin de votre projet.
  • 2°) Ouvrez le projet WEB de votre site, et ajoutez une référence sur cette dll.
  • 3°) Ouvrez votre WEB.CONFIG et ajoutez les éléments suivants :
  • - Dans la section <configuration> ajoutez le code ci-dessous
  • <configSections>
  • <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
  • </configSections>
  • - Dans la section <system.web> ajoutez le code ci-dessous
  • <httpModules>
  • <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
  • </httpModules>
  • <httpHandlers>
  • <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
  • </httpHandlers>
  • 4°) Il ne vous reste plus qu'a définir les Urls que vous souhaitez pour le rewriting
  • pour cela, c'est très simple :
  • Dans la section <configuration> sous l'élément <configSections> que vous avez déjà ajouté dans l'étape 2, vous ajoutez le nouvelle section ci-dessous :
  • <RewriterConfig>
  • <Rules>
  • <RewriterRule>
  • <LookFor>~/cartes_virtuelles_amour\.aspx</LookFor>
  • <SendTo>~/themes.aspx?rel=4&amp;title=AMOUR</SendTo>
  • </RewriterRule>
  • </Rules>
  • </RewriterConfig>
  • Et vous pouvez répéter l'éléments <RewriterRule> autant de fois que vous avez de page à réécrire.
  • Comment celà marche :
  • Chaque fois que vous avez une page à réécrire vous ajoutez un élément <RewriterRule> à la section <Rules> en renseignant les éléments <LookFor> et <SendTp>. L'élément <LookFor> représente la page sasie dans le navigateur (ou lue par le moteur) et l'élément <SendTp> représente la réelle page à charger.
  • Dans cette exemple lorsque l'internaute clique sur le lien : http://www.monsite.com/cartes_virtuelles_amour.aspx, il verra s'afficher réellement la page : themes.aspx?rel=4&title=AMOUR et le nom de l'Url dans la barre d'adresse du navigateur sera bien : http://www.monsite.com/cartes_virtuelles_amour.aspx même si cette page n'existe pas vraiment :-)
  • Vous remarquerez que dans le fichier WEB.CONFIG j'ai remplacer le '&' du passage de paramètre par '&amp;' car ce fichier étant un fichier XML, vous devez respecter les règles d'encodage. Vous remarquerez aussi qu'au nom de la page 'virtuelle' cartes_virtuelles_amour.aspx, on a modifier le .aspx par \.aspx pour les mêmes raisons.
  • Ce système fonctionne aussi très très bien avec un système de répertoire comme '~/cartes_virtuelles/amour\.aspx' mais il faut préciser que les répertoires que vous nommés virtuellement doivent véritablement exister avec une page par défaut vierge.
1°) Téléchargez le composant URLRewriter.dll (dans le ZIP) et copiez le dans le répertoire /bin de votre projet.
2°) Ouvrez le projet WEB de votre site, et ajoutez une référence sur cette dll.
3°) Ouvrez votre WEB.CONFIG et ajoutez les éléments suivants :
    - Dans la section <configuration> ajoutez le code ci-dessous 
      	<configSections>
		<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
	</configSections>
    - Dans la section <system.web> ajoutez le code ci-dessous
        <httpModules>
		<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
	</httpModules>
	<httpHandlers>
		<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
	</httpHandlers>
4°) Il ne vous reste plus qu'a définir les Urls que vous souhaitez pour le rewriting
    pour cela, c'est très simple :
    Dans la section <configuration> sous l'élément <configSections> que vous avez déjà ajouté dans l'étape 2, vous ajoutez le nouvelle section ci-dessous :
    <RewriterConfig>
		<Rules>
			<RewriterRule>
				<LookFor>~/cartes_virtuelles_amour\.aspx</LookFor>
				<SendTo>~/themes.aspx?rel=4&amp;title=AMOUR</SendTo>
			</RewriterRule>
		</Rules>
    </RewriterConfig>
    Et vous pouvez répéter l'éléments <RewriterRule> autant de fois que vous avez de page à réécrire.
    Comment celà marche :
    Chaque fois que vous avez une page à réécrire vous ajoutez un élément <RewriterRule> à la section <Rules> en renseignant les éléments <LookFor> et <SendTp>. L'élément <LookFor> représente la page sasie dans le navigateur (ou lue par le moteur) et l'élément <SendTp> représente la réelle page à charger.

    Dans cette exemple lorsque l'internaute clique sur le lien : http://www.monsite.com/cartes_virtuelles_amour.aspx, il verra s'afficher réellement la page : themes.aspx?rel=4&title=AMOUR et le nom de l'Url dans la barre d'adresse du navigateur sera bien : http://www.monsite.com/cartes_virtuelles_amour.aspx même si cette page n'existe pas vraiment :-)

    Vous remarquerez que dans le fichier WEB.CONFIG j'ai remplacer le '&' du passage de paramètre par '&amp;' car ce fichier étant un fichier XML, vous devez respecter les règles d'encodage. Vous remarquerez aussi qu'au nom de la page 'virtuelle' cartes_virtuelles_amour.aspx, on a modifier le .aspx par \.aspx pour les mêmes raisons.

    Ce système fonctionne aussi très très bien avec un système de répertoire comme '~/cartes_virtuelles/amour\.aspx' mais il faut préciser que les répertoires que vous nommés virtuellement doivent véritablement exister avec une page par défaut vierge.

 Conclusion

Voila !

J'espère que cette petite synthèse est plus simple et vous aidera à 'péter les scrores' sur google :-)

BON CODE !!!

Vladam
Pour vous servir

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • URLRewriter.dllTélécharger ce fichier [Réservé aux membres club]20 480 octets

Télécharger le zip


 Sources du même auteur

Source .NET (Dotnet) FONCTIONS DE VÉRIFICATION DE LA SYNTAXE D'UNE CHAINE
Source .NET (Dotnet) LIRE LA SOURCE D'UNE PAGE
Source .NET (Dotnet) RÉÉCRITURE D'URL DANS ASP.NET (URL REWRITER)
Source .NET (Dotnet) CLASS : TRACKING POUR VOTRE ECOMMERCE (MYSQL SQLSERVER)
Source .NET (Dotnet) CLASS : SUIVRE L'ACTIVITÉ DE SON SITE INTERNET

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GUESTBOOK AVEC GRIDVIEW par DanMor498
Source avec Zip CHECKED DROPDOWNLIST par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool

 Sources en rapport avec celle ci

Source .NET (Dotnet) VERIFIER L'EXITENCE D'UN URL par fouedelapoche
Source .NET (Dotnet) AJOUTER DES PARAMÈTRES À UNE URL par jesusonline
Source .NET (Dotnet) RÉÉCRITURE D'URL DANS ASP.NET (URL REWRITER) par vladam
Source .NET (Dotnet) AJOUT DE LIEN DYNAMIQUE DANS LE TEXTE par jesusonline
VALIDATION DU FORMAT D'UNE URL (REGEXP) par Jos

Commentaires et avis

Commentaire de jesusonline le 21/05/2005 18:10:47 administrateur CS

On peut aussi utiliser des expressions regulieres, par exemple pour des sites multilingues.

<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

Commentaire de AnnuMada le 24/05/2005 10:50:44

Bonjour,
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

Commentaire de jesusonline le 24/05/2005 11:00:56 administrateur CS

Si je dis pas de betises, il suffit de mettre ceci dans le web.config

<RewriterRule>
   <LookFor>~/plantana/(\w{1,})/antananarivo-quartier\.aspx</LookFor>
   <SendTo><![CDATA[~/plantana/antananarivo-quartier.aspx?quartier=$2&Submit=Recherche]]></SendTo>
</RewriterRule>

Commentaire de AnnuMada le 09/06/2005 10:53:28

Aprés bien des tests cela ne fonctionne pas

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>
          <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
        </httpModules>
        <httpHandlers>
          <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
        </httpHandlers>
      </system.web>
</configuration>

Ou est l'erreur ???

Commentaire de vladam le 09/06/2005 12:01:34 administrateur CS

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.

<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&amp;title=sexy%20homme</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_virtuelles_amour_tendresse\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=4&amp;title=AMOUR</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_virtuelles_adult_sexy_femme\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=5&amp;title=femme</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_virtuelles_adult_sexy_homme\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=6&amp;title=sexy%20homme</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_virtuelles_saint_valentin\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=8&amp;title=valentin</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_virtuelles_adult_saint_valentin\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=9&amp;title=valadult</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/cartes_test_jerome\.aspx</LookFor>
<SendTo>~/themes.aspx?rel=10&amp;title=testing</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<appSettings>
<add key="smtpserver" value="localhost"/>
<add key="NbCardByPage" value="20"/> <add key="base" value="MySQL"/>
<add key="themephare" value="55"/>
</appSettings>
  <system.web>
   <httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
    <compilation defaultLanguage="vb" debug="true" />
    <customErrors mode="Off" />
    <authentication mode="Forms">
<forms name="OZMStoreAuth" loginUrl="Login.aspx" protection="All" path="/"  timeout="20" />
    </authentication>
    <authorization>
        <allow users="*" />
    </authorization>    
    <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>
            <authorization>
                <deny users="?" />
            </authorization>
        </system.web>
    </location>
</configuration>

Commentaire de AnnuMada le 09/06/2005 13:48:35

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

<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>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
</system.web>
</configuration>

Commentaire de jesusonline le 09/06/2005 13:52:28 administrateur CS

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 ...

Commentaire de AnnuMada le 09/06/2005 14:18:26

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

Commentaire de vladam le 09/06/2005 19:20:18 administrateur CS

Si tu ne veux pas acheter le Studio.net de Microsoft (qui est vraiement le TOP !)
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,

Commentaire de AnnuMada le 10/06/2005 07:12:08

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.

Commentaire de vladam le 10/06/2005 10:16:57 administrateur CS

ASP.NET WebMatrix ne fait que 1,3 Mo, ça doit le faire :-)

Courage l'adsl viendra aussi chez toi ...

Commentaire de AnnuMada le 10/06/2005 10:24:31

Il est déjà là mais pour du 128 il vaut presque 200€ par mois.

Mais tout cela ne regle pas nom probleme.

Commentaire de hsii04 le 21/08/2005 15:01:57

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

Commentaire de jesusonline le 21/08/2005 15:50:25 administrateur CS

relis mon premier commentaire et tu verras qu'il est tout à fait possible de faire des regexp ...

Commentaire de vladam le 22/08/2005 08:32:49 administrateur CS

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.

Commentaire de hsii04 le 23/08/2005 09:22:33

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.

Commentaire de dedzep le 07/11/2005 11:49:09

bonjour
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
<ItemTemplate>
<asp:HyperLink id=HyperLink1 CssClass="textecourant" runat="server" Text='<%#  DataBinder.eval(Container.DataItem,"libProduit")&amp;" pour " &amp; Session("savChoix2")%>' NavigateURL='<%# "produit.aspx?idprod=" &amp; DataBinder.eval(Container.DataItem,"id_produit") &amp; "&amp;Id=" &amp; Request("Id") &amp; "&amp;Cat=" &amp; Request("Cat") &amp; "&amp;ISelect=" &amp; request("ISelect") &amp; "&amp;idcat=" &amp; request("idcat") %>'>
</asp:HyperLink><BR>
</ItemTemplate>


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 ?

Commentaire de vladam le 07/11/2005 19:30:17 administrateur CS

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 !

Commentaire de jolazoule le 20/12/2005 16:48:53

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 :

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

Commentaire de pachakamac le 09/08/2006 11:54:38

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

Commentaire de adecanck le 15/11/2006 09:22:31

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 !!

Commentaire de vladam le 15/11/2006 13:57:16 administrateur CS

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 ...

Commentaire de adecanck le 15/11/2006 16:15:39

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

Commentaire de Alexis35 le 21/04/2008 16:35:12

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!

Commentaire de Alexis35 le 21/04/2008 16:51: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...

Commentaire de Alexis35 le 21/04/2008 17:15:53

et sinon personnellement je n'arrive pas a rewriter mes URL en .html ...

Commentaire de vladam le 21/04/2008 17:38:28 administrateur CS

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)

Commentaire de barmat_ali le 04/07/2008 12:42:55

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

Commentaire de vladam le 04/07/2008 13:37:07 administrateur CS

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.


Commentaire de barmat_ali le 04/07/2008 13:45:36

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?

Commentaire de vladam le 04/07/2008 15:26:44 administrateur CS

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,

Commentaire de agnesh le 18/03/2009 15:12:52

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&amp;code=$3&amp;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&amp;code=$3&amp;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&amp;code=$3&amp;selectmenu=$2
et pourquoi dans ce cas il me renvoie vers la page
default.html

HELP ???


 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Réécriture d'url en asp. [ par touss ] Bonjour. Je suis a la recherche d'une source ou d'informations sur la réécriture d'url en asp, Je suis en train de concevoir un site dynamique en asp [asp.net] Configuration IIS 5.1 [ par gregorian ] Bonjour, voici mon probl&#232;me je n'arrive plus &#224; cr&#233;er des web service. Je developpe sous VB.NET et j'&#233;tait dans une vieille version Validation de compte par Url [ par matlocker ] Bonjour a tous, Je developpe actuellement une page de membres et lorsque l'utilisateur s'inscrit je lui envoie un mail pour activer son compte. danc url [ par wassila_lalouani ] bonjour! est ce que vous pouvez m'aidez à trouver le site web d'une url? je programme en visual c++. en clair je cherche un moyen à regrouper les requ Capture d'URL [ par c_ensias ] Bonjour,J'ai un formulaire &#224; remplir par l'utilisateur comme dans les pages jaunes et je veux que quand l'utilisateur valide&nbsp;que l'URL de la asp net et window.open [ par cnanarde ] bonjourj'ai un ti prob je suis sur un projet en asp . net et vb .netdans l'une de mes pages g un linkbutton qui est cens&#233; ouvrir un PopUp qui aff URL -> variable [ par Troyan ] bonjour,j'ai uen url qui pointe sur un contenu (xml)j'aimerais mettre le contenu de cette url dans une variable string ?comment dois je faire ?j'ai ri problème iframe [ par c_ensias ] Bonjour, j'ai une&nbsp;iframe &#224; l'interieur d'une&nbsp;page. J'ai un setinterval toutes x secondes pour r&#233;cup&#233;rer l'url de la page de m url rewriter en asp [ par Jackboy ] Est-il possible de faire un url rewriter en asp et non en asp.net. Si oui devons nous install&#233; un composant serveur ? J'aimerai avoir un peu d'&# Création d'url dynamiques [ par Benz ] Bonjour, Je ne sais pas vraiment o&#249; ni comment poser ma question, je pense donc qu'elle trouve sa place dans cette rubrique. Je souhaiterais sav


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales