Visualizzazione risultati 1 fino 26 di 26

Discussione: Mod_rewrite trasformare l'url

  1. #1
    Guest

    Predefinito Mod_rewrite trasformare l'url

    Salve ragazzi, vi spiego qual'è il mio problema io creo una cartella (con il nomeutnete) e con dentro un file index.php.
    Ora io in poche parole dovrei fare in modo che questa pagina si raggiungibile semplicmenente digitando miosito.altervista.org/nomeuntete quindi avevo pensato di usare il mod_rewrite ma come si usa?

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Se esite una directory /nomeutente/ e questa contiene una pagina index.php ( oppure .html ), questa è già raggiungibile come miosito.altervista.org/nomeutente/, basta che ci sia la barra in fondo.

  3. #3
    Guest

    Predefinito

    ai questo lo so ma io come faccio ad eseguire le query? in poche pararole per eseguire le query io dovrei inviare il nome utente con get ma per gli utneti sarebbe un pò difficile scrviere un link con get....per intenderci qualcosa del tipo twitter (ovvero http://twitter.com/bsnook4)

  4. #4
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Codice:
    RewriteRule ^([a-zA-Z0-9]*)$ show.php?user=$1
    Qualcosa del genere...

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da mycarlo Visualizza messaggio
    Codice:
    RewriteRule ^([a-zA-Z0-9]*)$ show.php?user=$1
    Qualcosa del genere...
    ho alcune domande:

    1.se con il codice che mi hai dato tu scrivo zomer.altervista.org/nick sarebbe la stessa cosa di scrivere zomer.altervista.org/nomeutente/index.php?nick=nomeutnete

    2. con questo codice dove va inseirito nel httaccess di altervista (il marchingeno blu?)

  6. #6
    Guest

    Predefinito

    Allora, nell'htaccess devi inserire la seguente regola:
    Codice:
    RewriteRule ^([a-zA-Z0-9]+)$ ./show.php?user=$1
    Il Rewrite Url serve solo per mascherare l'indirizzo originale. Ogni sottostringa (ogni codice dentro delle parentesi tonde) ecquivale ad un $. In questo caso ([a-zA-Z0-9]+) sarà il valore che passerai alla variabile user tramite get alla pagina show.php
    Esempio: vai alla pagina miosito.com/Utente, sho.php farà la query con il valore Utente.

    Capito?

  7. #7
    Guest

    Predefinito

    Capito?
    No (fai qualche altro esempio...)

    L'unica ocsa che ho capito e che devo mettere il codice nell'ingranggio ma scusa l'httacess come conosce il nome utnete?
    Cioè scerivere zomer.altervista.org/nick sarebbe la stessa cosa di scrivere zomer.altervista.org/nomeutente/index.php?nick=nomeutnete

    ???

  8. #8
    Guest

    Predefinito

    No. Con la regola postata prima, zomer.altervista.org/NOME_UTENTE sarà UGUALE a zomer.altervista.org/index.php?nick=NOME_UTENTE.

  9. #9
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Invece di show.php ci metti la tua pagina, e poi la tua pagina, da te scritta, riconosce il nome dell'utente. La directory però non deve essere "vera", ma fittizia, creata con quella regola sopra

    Sul sito hai solo questi due file:
    Codice:
    .htaccess
    index.php
    nell'htaccess
    Codice:
    RewriteEngine   On
    RewriteRule   ^(\w+)$   index.php?user=$1
    ed il server richiamerà index.php?user=qualcosa ogni volta che tu visiti nomesito.altervista.org/qualcosa. Fornire il contenuto giusto è poi compito tuo, attraverso quello che scrivi dentro la pagina index.php.
    Ultima modifica di dreadnaut : 18-10-2009 alle ore 01.09.16

  10. #10
    Guest

    Predefinito

    Si, ma come faccio a transofrmare $1 nel nome dell'utente potrei usare fwrite...? e poi devo creare questo codice ogni volta che si iscrive un utente? il codice lo devo mettere nel httacess della root?
    Ultima modifica di zomer : 18-10-2009 alle ore 01.23.47

  11. #11
    Guest

    Predefinito

    no zomer. E' una cosa GENERALE.

    $1 come ti ho detto ecquivale ad ogni espressione regolare contenuta tra parentesi.

    $# indica quale valore prendere.

    Leggiti qualche guida su internet per capire meglio, più semplice di così non te lo so dire

  12. #12
    Guest

    Predefinito

    mmm, mi embra che funzioni ma http://zomer.altervista.org/lolla

    ma l'url che mi dà è


    http://zomer.altervista.org/lolla/?user=lolla


    è nomrale che non sia

    http://zomer.altervista.org/lolla/index.php?user=lolla

  13. #13
    Guest

    Predefinito

    Cioè? Puoi scrivere in italiano?

  14. #14
    Guest

    Predefinito

    Ok allora lo script mi sembra che funzioni prova http://zomer.altervista.org/lolla un unica cosa e che poi l'url si trasforma nella barra degli indirizzi e diventa

    guarda prima del ? non c'è il nome della pagina, è nomrale?

  15. #15
    Guest

    Predefinito

    E come lo vorresti tu scusa?

  16. #16
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Non dovrebbe apparirti neanche ?user=, a meno che tu non abbia cambiato qualcosa. E poi lolla/ esiste come directory, che è diverso da quello che ti è stato scritto sopra.

    Quello che stai ottenendo al momento non è quindi dovuto all'htaccess.


    Poi se il nome della pagina non appare è meglio per un sacco di motivi che è tardi per elencare. Da quello che ho capito vuoi che
    Codice:
    http://miosito.altervista.org/qualcosa
    vada in
    Codice:
    http://miosito.altervista.org/qualcosa/index.php
    Se è effettivamente come ho capito, è una vaccata, lascia perdere tutta questa roba ed usa semplicemente
    Codice:
    http://miosito.altervista.org/qualcosa/
    perché il nome della pagina in fondo è solo inutile e fastidioso.


    Se non è così, rispiegati meglio, con un paio di esempi, ed elencando quali file esistono e quali file vuoi che appaiono. Più scrivi, più è facile aiutarti.
    Ultima modifica di dreadnaut : 18-10-2009 alle ore 02.03.17

  17. #17
    Guest

    Exclamation Spiegazione dettagliata....

    Non dovrebbe apparirti neanche ?user=, , che è diverso da quello che ti è stato scritto sopra.
    Io prima cervao di spiegarvi questo, perchè mi rimane ?user= ?

    a meno che tu non abbia cambiato qualcosa.
    No, io non ho modificato niente.

    E poi lolla/ esiste come directory
    Certo la cartella esiste tanto e vero che se fai zomer.altervista.org/lolla/index.php funge

    Io vorrei che:

    miosito.altervista.org/lolla
    vada in

    zomer.altervista.org/lolla/index.php?user=lolla
    ma nella barra degli indirizzi, deve rimanere sempre

    miosito.altervista.org/lolla
    come accade su twitter ad esempio se io su twitter volessi visualizzare la home di ftfradiodotnet scriverei:

    twitter.com/ftfradiodotne
    ma, dopo il caricamente della pagina l'indirizzo non cambia...

    quindi in poche parole io vorrei che

    zomer.altervista.org/lolla===zomer.altervista.org/lolla/index.php?user=lolla
    ma nella barra degli indirizzi rimane sempre zomer.altervista.org/lolla tipo una maschera...

    cosi posso eseguire la query, e gli unteti non registrati possono vedere le pagine degli utenti registrati senza dover scrivere il link con get ma scrivendo semplicmente il nome utente.
    Poi se quello che sto cercando di fare è impossibile mi accontneto che quando venga scritto zomer.altervista.org/lolla si traformi in zomer.altervista.org/lolla/index.php?user=lolla

    Non avete capito niente vero?
    Ultima modifica di zomer : 18-10-2009 alle ore 12.31.13

  18. #18
    Guest

    Predefinito

    Allora, dipende tutto da come LINKI la pagina.

    Se tu scrivi nell'htaccess la regola:
    Codice:
    RewriteRule ^([a-zA-Z0-9]+)$ ./show.php?user=$1
    oppure quella di dreadnaut, BASTA LINKARE in questo modo: zomer.altervista.org/lolla

    PS: Togli gli http://, non ti pare sia un pò spam passivo?

  19. #19
    Guest

    Predefinito

    Ok, ma accade la stessa cosa...

    se io scirvo zomer.org/lolla mi compare zomer.org/lolla/?user=lolla

    Io vorrei che riamanga sempre zomer.org/lolla nella barra degli indirizzi, non so se mi sono spiegato, l'url non deve cambiare o per lo meno non deve comaprire ?user=lolla

    P.s non eri mia intenzione spammare...

  20. #20
    Guest

    Predefinito

    Compare se lo scrivi tu!!!!!

    Se non lo scrivi non compare, l'htaccess non ti esegue redirect come fa header()!

  21. #21
    Guest

    Predefinito

    Ma io non lo scrivo da nessuna parte!

  22. #22
    Guest

    Predefinito

    Prova a rinominare la cartella e vedi se hai lo stesso problema...

  23. #23
    Guest

    Predefinito

    Scusa ora funziona....

    MA COMUNQUE SE PROVO A FARE

    Codice PHP:
    $nick=$_GET['user'];
    echo
    "".$nick."";
    non mi da niente! dovrebbe uscire lolla?...

  24. #24
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Se apri la pagina senza query string è non stampa nulla!
    Se apri zomer.org/lolla allora deve stampare lolla

  25. #25
    Guest

    Predefinito

    Prima di tutto fai:
    Codice PHP:
    $nick = $_GET['user'];
    echo
    $nick;
    Poi la pagina è index.php?user=lolla oppure show.php?user=lolla?

  26. #26
    Guest

    Predefinito

    la pagine e index.php comunqe ho capito dove sbagliavo io scrivevo

    zomer.altervista.org/lolla/

    invece s ideve scrivere

    zomer.altervista.org/lolla

    non si può levare questa differenza?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •