• User

    Url Rewrite con variabili numeriche

    salve a tutti ho alcuni dubbi riguardanti l'url rewriting

    per il momento sono riuscito ad ottenere quanto segue

    la pagina sulla quale lavoro si chiama
    template.php

    la regola
    RewriteRule ^(.+)/(.+)/cronologia-modifiche-provincia-(.+).php template.php?reg=$1&prov=$2

    nella pagina stampo
    <a href="<? echo friendlyname($row['regione']); ?>/<? echo friendlyname($rowdue['provincia']); ?>/cronologia-modifiche-provincia-<? echo friendlyname($rowdue['provincia']); ?>.php" title="Cronologia modifiche provincia di <? echo $rowdue['provincia']; ?>"><? echo $rowdue['provincia']; ?></a>

    quindi ed in effetti tutto gira per bene !
    il risultato è quello desiderato
    sito.mio/veneto/venezia/cronologia-modifiche-provincia-venezia.php

    il problema è il seguente se io volessi passare al posto dei nomi delle regioni e delle provincie gli ID NUMERICI come dovrei trasformare il tutto ?
    possibilmente senza vedere gli id numerici nel link
    io sono un po' confuso per portare a termine l'opera :():


  • Super User

    se vuoi passare gli ID numerici devi farli obbligatoriamente farli comparire nell'url 🙂

    come mai vuoi fare così? non dovresti avere due record con lo stesso nome (son regioni e provincie), non ti servono gli ID


  • User

    i problemi riguardano il fatto è che nel db esempio memorizzo
    valle d'aosta e non valle-d-aosta
    quindi quando con la query string vado a fare la select non mi troverà nulla
    peggio ancora con i comuni ad esempio quelli con lettere accentate

    siccome nella tabella del db ho sia l'id che il nome della regione/prov/comune pensavo di passare gli id numerici
    solo che non so come trasformare il tutto


  • User

    allora ho fatto alcuni passi avanti (per modo di dire passi avanti)
    ho deciso di passare anche i dati numerici della regione e della provincia nel seguente modo
    RewriteRule ^(.+)/(.+)/([0-9]+)-([0-9]+)-cronologia-modifiche-provincia-(.+).php template.php?reg=$1&idreg=$3&prov=$2&idprov=$4

    i link li stampo cosi
    <a href="<? echo friendlyname($row['regione']); ?>/<? echo friendlyname($rowdue['provincia']); ?>/<? echo $row['idregione']; ?>-<? echo $rowdue['idprovincia']; ?>-cronologia-modifiche-provincia-<? echo friendlyname($rowdue['provincia']); ?>.php" title="Cronologia modifiche provincia di <? echo $rowdue['provincia']; ?>"><? echo $rowdue['provincia']; ?></a>

    però provando ad modificare dalla barra degli indirizzi mi viene fuori una cosa stranissima mi viene presa un'altra riga dell'htaccess
    RewriteRule ^(.+)/cronologia-modifiche-regione-(.+).php$ template_regione.php?reg=$1

    vi faccio un esempio nella barra degli indirizzi ho il seguente link
    localhost veneto/venezia/1-1-cronologia-modifiche-provincia-venezia.php

    se lo modifico cosi
    localhost /veneto/venezia/cronologia-modifiche-provincia-venezia.php

    mi viene applicata la seconda regola dell'htaccess !
    come cavolo si lavora con sti url rewriting ?


  • Super User

    scusa ma non puoi fare la query con friendlyname($_GET[...]) invece che $_GET[...] ?


  • User

    friendlyname la richiamo per generare i links che poi genero con l'htaccess


  • Super User

    vabbè, non so come la chiami nei tuoi script 😄

    intendevo la funzione che ti trasforma Valle d'Aosta in valle-aosta