Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    13

    [URL Rewriting - WebConfig - UrlRewritingNet]

    Salve a tutti.
    Devo usare le tecniche di URL Rewriting per una applicazione .net; vorrei essere contattato da chi ne ha già avuto esperienza. Grazie. Urgentissimo.

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    presente.
    dica
    I got the remedy

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    13
    Ti ringrazio, albgen.
    La questione credo sia trita e ritrita, ormai ... dico questo perché, sebbene sia alle prese con il problema da pochissimo tempo, ho avuto modo di leggere diverse cose a proposito.
    Ho una applicazione .net che usa Global.asax per gestire l'url rewriting, in questo modo:

    =======================================
    void Application_BeginRequest(object sender, EventArgs e)
    {
    HttpContext incoming = HttpContext.Current;
    string prevpath = incoming.Request.Path.ToLower();
    string prevrawpath = incoming.Request.RawUrl.ToLower();
    string pageid; // page id requested
    string[] sParameters = prevrawpath.Substring(prevrawpath.LastIndexOf("?") + 1).Split('|');
    ............. (faccio delle cose)

    if(prevrawpath.Contains("mymessages"))
    {
    if(sParameters.Length == 1) {
    incoming.RewritePath("messages.aspx?id=" + sParameters[0], true);
    } else if(sParameters.Length == 3) {
    incoming.RewritePath("mymessages.aspx?id=" + sParameters[0] +"&idMessage=" + sParameters[1] + "&sOperation=" + sParameters[2], true);
    }
    }

    ............. (faccio delle cose)

    if (prevpath.Contains("index")) incoming.RewritePath("index.aspx");
    if (prevpath.Contains("signin")) incoming.RewritePath("signin.aspx");
    if (prevpath.Contains("faq")) incoming.RewritePath("faq.aspx");

    ............. (faccio delle cose)

    =======================================

    Gli href sparsi per l'applicazione sono dunque (ad esempio):

    entra


    In localhost tutto funziona, ma non presso il nuovo provider hosting (goDaddy). Un link che rimanda a

    http://www.mywebsite/login

    restituisce l'errore "risorsa non trovata".
    Sto provando ad usare UrlRewritingNet, trasferendo il rewriting degli indirizzi da Global.asax al WebConfig .... ma non sono granché capace ...

    Ora: devo riuscire a capire se il problema risiede nella errata costruzione delle regular expression (che sto cominciando ad usare) che vorrei adottare oppure, più a monte, proprio nella scelta della soluzione. Riporto di seguito la soluzione UrlRewritingNet, che puoi comunque trovare a

    http://www.developer.com/net/asp/article.php/3703901

    ===============================================
    .............
    <configSections>
    <section name="urlrewritingnet" requirePermission ="false"
    type="UrlRewritingNet.Configuration.UrlRewriteSect ion,
    UrlRewritingNet.UrlRewriter" />
    </configSections>

    <system.web>
    <compilation debug="true"/>
    <authentication mode="Windows"/>
    <httpModules>
    <add name="UrlRewriteModule"
    type="UrlRewritingNet.Web.UrlRewriteModule,
    UrlRewritingNet.UrlRewriter" />
    </httpModules>
    </system.web>

    ...............

    <urlrewritingnet
    rewriteOnlyVirtualUrls="true"
    contextItemsPrefix="QueryString"
    defaultPage = "Default.aspx"
    defaultProvider="RegEx"
    xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
    <rewrites>
    <add name="UserAccount"
    virtualUrl="^~/UserAccountV2/(.+).aspx"
    rewriteUrlParameter="ExcludeFromClientQueryString"
    destinationUrl="~/UserAccountV2.aspx?id=$1"
    ignoreCase="true" />
    <add name="Movies_Action"
    virtualUrl="^~/Movies/Action.aspx"
    rewriteUrlParameter="ExcludeFromClientQueryString"
    destinationUrl="~/Movies.aspx?MovieType=Action"
    ignoreCase="true" />
    <add name="Movies_Drama"
    virtualUrl="^~/Movies/Drama.aspx"
    rewriteUrlParameter="ExcludeFromClientQueryString"
    destinationUrl="~/Movies.aspx?MovieType=Drama"
    ignoreCase="true" />
    <add name="Movies_Comedy"
    virtualUrl="^~/Movies/Comedy.aspx"
    rewriteUrlParameter="ExcludeFromClientQueryString"
    destinationUrl="~/Movies.aspx?MovieType=Comedy"
    ignoreCase="true" />
    </rewrites>
    </urlrewritingnet>

    ===============================================

    Alla fine, insomma, vorrei riuscire ad inviare i link come

    href="login"

    alla pagina

    www.mywebsite.net/login.aspx

    E, inoltre, a gestire link con parametri, del tipo:

    href="mymessages|chisono|tipomessaggi|destinatario "

    alla pagina

    http://www.mywebsite.net/mymessages....tti&dest=mario


    ... sempre che la scelta dlla soluzione UrlRewritingNet sia giusta...

    Puoi supportarmi in questo? GRAZIE.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    mmm, forse il problema e' che il tuo contenuto e' configurato come una virtual directory, e non come una WEB APPLICATION. prova a verificare questo!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  5. #5
    Salve a tutti,
    spero di postare nella sezione giusta.
    Ho un sito in asp net e vorrei fare il rewriting.
    C'è qualcuno che offre questo servizio?
    Grazie
    Saluti

  6. #6
    Ma quale framework usi ? 2.0 , 3.5 0 il 4.0 ?
    Col il 4.0 è molto semplice.
    Comunque per gli altri framework dovresti usare un http handler (.ashx )
    Se mi dici quale framework usi posso darti una mano.
    Sul mio blog qualche utile risorsa per JQuery, HTML5 , CSS3 , PHP , ASP.NET , WCF SERVICE REST & SOAP ed altro ancora http://zannino1973.wordpress.com

  7. #7
    dovrebbe essere 3.5.
    Potresti aiutarmi??
    grazie

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    @ilcommer: URL Rewriting non significa riscrivere un sito in una versione diversa del framework.
    E' un'altra cosa....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.