Newsgroup: it.comp.www.php
Titolo: url rewrite con query

Salve a tutti,
in un portale, vorrei fare in modo che il profilo di un user fosse 
accessibile in questo modo: 
www.miosito.it/profile/username
 (o qualcosa di 
simile ma breve) mentre ora è 
www.miosito.it/index.php?op=blabla&id=12
per fare cio' ho pensato di creare una pagine sotto /profile che fa una 
query ricavando l'id e con un Location: mi rimanda all'indirizzo "lungo". Il 
problema è che poi nel browser viene visualizzato l'indirizzo lungo, mentre 
io vorrei mostrare quello corto... avete idee o soluzioni piu' eleganti per 
risolvere il problema?
grazie 1000
Dade 

 lungo, mentre io vorrei mostrare quello corto...
Ti suggerisco di cercare con Google mod_rewrite e di postare questo
tipo di richieste su un newsgrouop piu' specifico:
it.comp.www.server
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/


credo che sia in-topic qui invece... devo fare una query su db per ricavare 
dallo username l'id e non posso usare l'.htaccess per far cio'... dico una 
cavolata?
grazie 1000
Dade
 

 cio'... dico una cavolata?
Pensavo che "il problema è che poi nel browser viene visualizzato
l'indirizzo lungo, mentre tu vorresti mostrare quello corto".
Per effettuare la query su DB, puo iniziare dalla pagina del manuale
ufficiale che descrive come interfacciarsi al database che stai
utilizzando.


 utilizzando.
Beh no la parte query è fatta, ma fa un redirect sulla pagina con 
l'indirizzo lungo e non vedo modo per abbreviarlo nemmeno con un 
mod_rewrite, perche' nell'indirizzo breve ho lo username, mentre nel lungo 
ho l'id dello user e con un modrewrite non risolvo il problema perche' al 
max mi abbrevia l'indirizzo con l'id! Spero di essermi spiegato meglio 
questa volta
Ciao e grazie dell'aiuto!
Dade
 

 io vorrei mostrare quello corto...
Non so se ho capito bene, cmq,
Devi intercettare  il nome della pagina riscritta (profile/username o
/username) ed effettuare la query nel Db con questa variabile.
Nella tabella degli utenti dovrai avere un campo che contenga l'url
riscritto (profile/username o /username) e dovrai anche fare in modo che
sia unico.
E nell'.htaccess dovrai stabilire una regola che trasformi l'url
riscritto nel url con variabili, es:
RewriteCond %{QUERY_STRING} ^.*.&id=(.*)$
RewriteRule ^/pagine/(.*) index.php?op=blablabla&id=%1 [L]
Max
-- 
http://www.maxori.it
L'Arte è la capacità di fare cose di nessun valore
e di riuscire a venderle
F. Zappa

 mod_rewrite,
Questo probabilmente perche' non sai come funziona mod_rewrite o come
utilizzarlo correttamente. Ti suggerisco di cercare con Google (od un
motore a tua scelta), si trovano migliaia di pagine che spiengano come
ottenere quello che chiedi.


Impossibile che non ci riesci con il mod_rewrite di apache, forse non
riesci ad usarlo, o magari il tuo hosting non lo ha abilitato . . .
Come ti dicevano sopra, cerca con google come funziona questo modulo,
la cosa migliore è leggere dal manuale ufficiale, ma se la spiegazione
nella lingua italiana:
http://www.google.it/search?q=mod_rewrite+apache&hl=it&lr=lang_it&sa=X&oi=lrtip&ct=restrict&cad=8
ciauz

 Impossibile che non ci riesci con il mod_rewrite di apache, 
Per favore, quando rispondi a qualcuno, cerca di farlo inviando i tuoi
messaggi come risposta al post giusto. Cerca anche di quotare,
altrimenti i tuoi messaggi risulteranno incomprensibili
(
http://wiki.news.nic.it/QuotarBene
).
