• User Attivo

    URL Rewrite Asp.NET con HttpHandler

    Ciao, ho letto l'articolo di questo blog che parla di URL Rewrite per Asp.NET.

    Dunque l'ho letto ma molte parti non mi sono chiare ed, anche seguendo alla lettera le indicazioni, eseguendo il progetto mi viene restituito un errore relativo a ciò che inserisco nel web.config.

    Provo a porti la domanda: io ho all'interno della root una pagina che genera contenuto in base ad un ID (scheda-moto.aspx?IDMoto=3, classico 🙂 ).

    Ora nel db io ho i dati della moto (marca, modello, ecc), ciò che vorrei ottenere è invece dell'url www. miositodimoto.it/scheda-moto.aspx?IDMoto=3 un url del tipo www. miositodimoto.it/moto-usate/honda-cbr, dove honda e cbr sono rispettivamente marca e modello della moto e la directory moto-usate è una directory inesistente.

    Credo si possa avere una gestione del genere ma non conoscendo le interfacce HttpHandler non ci sto capendo nulla.

    Soluzioni veloci per questo genere di problema?

    Grazie mille in anticipo.

    Ciaooo:D


  • Moderatore

    @F@bri said:

    ...
    Dunque l'ho letto ma molte parti non mi sono chiare ed, anche seguendo alla lettera le indicazioni, eseguendo il progetto mi viene restituito un errore relativo a ciò che inserisco nel web.config.

    Ciao!
    Posta la descrizione e l'ID dell'Errore (poi cercalo anche su Google e vedi che dice..;) )

    Ora nel db io ho i dati della moto (marca, modello, ecc), ciò che vorrei ottenere è invece dell'url www. miositodimoto.it/scheda-moto.aspx?IDMoto=3 un url del tipo www. miositodimoto.it/moto-usate/honda-cbr, dove honda e cbr sono rispettivamente marca e modello della moto e la directory moto-usate è una directory inesistente.

    L'url a cui potresti/dovresti aspirare è:

    www. miositodimoto.it/moto-usate-honda-cbr-3.html

    1. devi comunque mettere l'ID della moto nell'url (anche se statico) poi tramite la funzione FindIdArticolo(), descritta sommariamente nell'articolo e che devi implemetare, fai il parsing dell'url alla ricerca dell'ID (che in questo caso sta prima dell'estensione *.html)
    2. Non credo che siano gestibili, in questo modo, delle directory "inesistenti". Se vuoi "arricchire" l'URL con keywords strategiche mettile pure nel nome della pagina (ma non esagerare...)
    3. Ovviamente l'inserimento di eventuali categorie e/o modelli ("honda", "cbr") di articoli all'interno del nuovo URL dovrai crearle/gestirle in fase di creazione (per esempio nella Home Page) del link alle sottopagine che fanno uso di URL-REWRITE. Questo serve solo ai fini SEO, nella gestione dell'url-rewrite ti serve solo l'ID della moto.
    4. Consiglio: parti prima da soluzioni semplici e poi le complichi con l'esperienza acquisita.

    :ciauz:

    PS: Ti pregherei di non rivolgerti direttamente a qualcuno in pubblico (ci sono i messaggi PVT per quello 😉 ). Ho editato il Tuo Post per questo motivo. Ciao!!


  • User Attivo

    Premessa io uso VS .NET 2003, Framework 1.1.

    image

    Mi viene restituito l'errore nel web config.

    Heeeeeeeelp 🙂


  • Moderatore

    Devi passare al .NET Framework 2.0 😉

    Se non erro sta scritto chiaramente sull'Articolo

    :ciauz:


  • User Attivo

    Sì l'avevo letto e ahimé ho dato per scontato che il codice e la gestione fosse "portabile" al framework 1.1.

    Mi pare di capire che così non è.

    Perdona se chiedo a te invece che cercare in giro ma posso scaricare il Framework 2.0 e continuare ad utilizzare VS.NET 2003?

    Grazie mille.


  • Moderatore

    @F@bri said:

    Perdona se chiedo a te invece che cercare in giro ma posso scaricare il Framework 2.0 e continuare ad utilizzare VS.NET 2003?
    Grazie mille.

    Si lo puoi scaricare e installare tranquillamente.

    Poi potrai specificare, per la singola applicazione ASP.NET (ovvero per ogni directory virtuale che avrai spuntato come "Applicazione" dalla Console di IIS) la versione del framework da utilizzare: 1.0/1.1/2.0)

    Se invece decidi di utilizzare ASP.NET 2.0 per tutte le tue applicazioni allora dovrai ricompilare tutto ed eventualmente gestire le (poche) incompatibilità tra una versione e l'altra.


  • User Attivo

    Aggiungo che nel caso di server in cui convivono versioni diverse di ASP.NET è necessario specificare per ogni sito web quale versione utilizzare. Dopo l'installazione di una nuova versione IIS6 non la utilizza automaticamente ma da priorità alla vecchia.

    Per IIS6:
    Pannello di controllo IIS/Proprietà del sito web/Label ASP.NET >> seleziona opportunamente la versione da utilizzare.

    Nota: di solito alla conferma (click su OK) del cambiamento il sito rimane down per qualche secondo.