43 messaggi dal 28 novembre 2008
Buongiorno a tutti, avrei un quesito relativo all'url rewriting.

Mettiamo caso che io abbia un database dinamico di utenti che si collegano al sito..
Tabella utenti:
user 1 - mario rossi
user 2 - giovanni galli
... 100 - enzo bearzot

Ho una pagina "Utenti.aspx" che con la querystring
Utenti.aspx?IDUtente=1

mostra la home di mario rossi

Ecco io vorrei che l'url rewriting mostrasse

www.miosito.com/utenti/mario.rossi
www.miosito.com/utenti/giovanni.galli

etc.

Finora ho trovato tutorial dove vi erano esempi di "categorie statiche" x ecommerce.. nel senso che io scrivevo a mano che

se l'url passato = www.miosito.it/category.aspx?idproduct=books
scrivi www.miosito.it/books
www.miosito.it/cd
www.miosito.it/dvd

etc.

Ecco io vorrei sapere come gestire "dinamicamente" la cosa...

E' possibile ?

Grazie a tutti in anticpo per eventuali consigli e aiuti!
Saluti
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Nel tuo caso il dinamico da database non serve, puoi usare la classica regular expression che rimanda alla pagina corretta. Qualcosa di questo tipo:
^~/utenti/(\d+)/(.+)\.(.+)\.aspx

E il redirect:
Utenti.aspx?IDUtente=$1

In questo sono sono riconosciuti link come:
/utenti/1/mario.rossi.aspx
/utenti/2/giovanni.galli.aspx

$1 passa al link l'id dell'utente inserito nell'url come parametro.

Altrimenti potresti prendere il nome e cognome, ma dovresti modificare la pagina Utenti.aspx in modo che accetti come parametro questi due parametri.

Sempre se ho ben capito quello che volevi ottenere...

Ciao
43 messaggi dal 28 novembre 2008
Ciao, grazie per la risposta innanzitutto.
Hai capito quello che vorrei, però sono io che non conosco evidentemente le regular expression !

Hai qualche link da girarmi con qualche esempio pratico ?

Cmq, si, è quel che voglio... esempio

Invece che "/HomeUser.aspx?IDUser=1" ---> vorrei diventasse "/mario.rossi"

o "/mario.rossi.aspx"

Ovviamente non devo essere io a scrivere nel web config
"IdUser=1" > "mario.rossi"

Ma essendo le registrazioni dinamiche, deve esserci un meccanismo sotto che fa tutto lui ...

Grazie ancora...
ciao
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Innanzitutto ti consiglio un componente esterno che ti permette di utilizzare l'url rewriting in modo molto semplice (io uso questo, compatibile anche con il FW 2.0):
http://www.urlrewriting.net/149/en/home.html

Nella documentazione trovi tutte le info su come configurarlo per la propria web application (si tratta di una dll e di una manciata di righe nel web.config).

Una volta inserito nella propria web application potrai scrivere le regular expression da controllare e a che pagina deve venire 'trasferita' la richiesta. Nel mio post precedente puoi vedere già un abbozzo di regular expression:
^~/utenti/(\d+)/(.+)\.(.+)\.aspx
Che permette di passare link in questo modo:
/utenti/1/mario.rossi.aspx

Nel mio caso ho inserito anche l'id in modo che questo sia passato alla tua pagina che accetta solo questo parametro, ma puoi anche creare una pagina che accetta il nome e cognome come parametro anche se ciò non ti permetterebbe di avere più persone con gli stessi dati:

Utenti.aspx?Name=Mario&LastName=Rossi
Da questo regular expression (da controllare):
^~/utenti/(.+)\.(.+)\.aspx
E dal parametro:
Utenti.aspx?Name=$1&LastName=$2

Il bello della dll urlrewriting è che ci pensa lui a passare i parametri e il link corretto, ma poi sarai TU a dover scrivere la pagina "Utenti.aspx" che sappia leggere quei parametri, e dovrai sempre essere TU a dare il link corretto con il nome e cognome ed eventualmente l'id come ti avevo scritto nel messaggio precedente.

Comunque ti rimando alla documentazione di quella classe, molto chiara negli esempi.

Ciao
43 messaggi dal 28 novembre 2008
Grazie mille, domattina ci lavoro su !
Sei stato gentile e molto chiaro!

Ciao
Ciao...
...giusto perché anche io ho dovuto affrontare la tua stessa necessità ti consiglio questo componenete:

URL Rewriter
http://urlrewriter.net/index.php/download

e qui trovi un'ottima guida sulla sua configurazione e risoluzioni di problemi come quello legato al postback di una pagina chiamata attraverso un url riscritto che al suo caricamento visualizza non più l'url desiserato ma quello parametrizzato:

http://dotnetguts.blogspot.com/2008/07/url-rewriting-with-urlrewriternet.html

Marco

"L'uomo è il computer più straordinario di tutti."

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.