- Home
- Categorie
- La Community Connect.gt
- Tutto sulla Community
- Url Rewrite con variabili numeriche
-
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.phpla regola
RewriteRule ^(.+)/(.+)/cronologia-modifiche-provincia-(.+).php template.php?reg=$1&prov=$2nella 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.phpil 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 :():
-
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
-
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 accentatesiccome 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
-
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=$4i 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=$1vi faccio un esempio nella barra degli indirizzi ho il seguente link
localhost veneto/venezia/1-1-cronologia-modifiche-provincia-venezia.phpse lo modifico cosi
localhost /veneto/venezia/cronologia-modifiche-provincia-venezia.phpmi viene applicata la seconda regola dell'htaccess !
come cavolo si lavora con sti url rewriting ?
-
scusa ma non puoi fare la query con friendlyname($_GET[...]) invece che $_GET[...] ?
-
friendlyname la richiamo per generare i links che poi genero con l'htaccess
-
vabbè, non so come la chiami nei tuoi script
intendevo la funzione che ti trasforma Valle d'Aosta in valle-aosta