Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: RewriteRule e le slash

  1. #1

    RewriteRule e le slash

    Ciao a tutti.
    Non ho capito bene come fare per assegnare un link fatto a slash, poichè mi perdo le immagini. Mi spiego:

    codice:
    RewriteEngine On
    RewriteRule ^categoria/(.*)/(.*)$ prodotto.php?id=21&nome=ciccio
    però così facendo, come dicevo, mi perde i percorsi.
    sapete darmi una mano?

    grazie mille!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    dovresti fare un esempio di un link completo prima e dopo la riscrittura, cmq con $1 e $2 puoi inserire nel percorso riscritto i pezzi dell'url "catturati" con la regexp

  3. #3

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Così com'è non puoi usare .htaccess... intanto suppongo tu voglia fare il contrario di quello che hai scritto (cioè l'utente digita /nomeprodotto e viene in realtà servita la pagina prodotto.php?id=xxx) o no? E in ogni caso una riscrittura automatica come può sapere che a quel nome corrisponde quel certo id? In conclusione: conferma se vuoi una trasformazione del genere... se sì dovresti fare:

    codice:
    RewriteRule ^(.*)/$ prodotto.php?url=$1 [L, QSA]
    per cui TUTTE le pagine sono rimandate su "prodotto.php" in cui dovresti analizzare il parametro url che conterrà il percorso originale (potresti anche guardare direttamente l'url senza passare alcun parametro, volendo) e recuperare l'id dal tuo db

  5. #5
    ciao eyen,
    in verità vorrei fare che il mio link dentro href sia nomeprodotto e che quano un lo clicca nella barra della url sia sempre nome prodotto, ma venga invece caricata la pagina prodotto.php?id=x,

    grazie mille per l'aiuto, questo argomento mi è un pò ostico

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    204
    Ciao Zoc, come ti ha scritto eyen è proprio quello che vuoi fare tu.

    Infatti le RewriteRule le utilizzi in quel modo, all'utente fai vedere solo www.nomesito.it/nomeprodotto mentre la pagina reale è www.nomesito.it/prodotto?id=4 (per esempio).

    In pratica è un po la logica inversa, cioè tu lavori direttamente sugli indirizzi "dopo le RewriteRule" e attraverso .htaccess vai a indirizzare correttamente le pagine...


  7. #7
    allora mi sfugge qualcosa,
    con questo codice nel htaccess

    codice:
    RewriteRule ^(.*)/$ prodotto.php?url=$1 [L, QSA]
    che tipo di link devo creare?
    cioè non riesco a capire come utilizzarlo
    mi fareste un esempio?
    grazie mille ce la farò prima o poi !!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    prova a utilizzarlo... a qualunque pagina tenterai di accedere sarà aperta la tua "prodotto.php" che riceverà come parametro l'indirizzo originale... fai semplicemente uno script contenente:

    Codice PHP:
    print "URL = "; if (isset($_GET['url'])) print $_GET['url']; 

  9. #9
    perdonami eyen, sto provando a farlo ma non sto quagliando molto.
    Ho messo come RewriteRule ^(.*)/$ prodotto.php?url=$1 [L, QSA].
    Ma poi non mi fa accedere a nessuna pagina.
    Cioè come devo fare i vari link?
    dentro l'href che ci devo mettere?

    faccio un esempio che però non soddisfa le mie esigenze:

    RewriteRule case-history/(.*)/(.*)/$ case-history.php?id=$1&nome=$2

    se metto il link come href="case-history/4/nomeHistory/"
    mi punta giusto, ma voglio fare in modo che non si veda l'id

    grazie mille milioni!!!

  10. #10
    ups... mi scordavo una cosa importante.. con l'esempio che vi ho dato non mi vede le immagini e i css... saranno gli slash? sapete come fare per ovviare il problema?

    grazie!

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.