begin process at 2008 08 08 21:09:03
1 223 607 membres
365 nouveaux aujourd'hui
14 230 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

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é: 14 359 / 501

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (31)
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.aspx 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
Pour les "Membres Club", vous pouvez 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

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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>

  • signaler à un administrateur
    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 ???

  • signaler à un administrateur
    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>

  • signaler à un administrateur
    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>

  • signaler à un administrateur
    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 ...

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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,

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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 ...

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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 ...

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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 ?

  • signaler à un administrateur
    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 !

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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 !!

  • signaler à un administrateur
    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 ...

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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!

  • signaler à un administrateur
    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...

  • signaler à un administrateur
    Commentaire de Alexis35 le 21/04/2008 17:15:53

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

  • signaler à un administrateur
    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)

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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.


  • signaler à un administrateur
    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?

  • signaler à un administrateur
    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,

Ajouter un commentaire

Discussions en rapport avec ce code source

Réécriture d'url en asp. par touss

[asp.net] Configuration IIS 5.1 par gregorian

Validation de compte par Url par matlocker

url par wassila_lalouani

Capture d'URL par c_ensias

asp net et window.open par cnanarde

URL -> variable par Troyan

problème iframe par c_ensias

url rewriter en asp par Jackboy

Création d'url dynamiques par Benz

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS