Per la mia prima conversione 'amichevole' di url in un applicativo dinamico (già esistente) ho trasformato pagina e annessa query documento.php?id=250 in documento.php?cat=categoria&nome=prodotto.
In tal modo ho potuto far funzionare le regole .htaccess che alla richiesta (esemplificativa) di
miosito.it/capsule/crema.html
risponde con
miosito.it/scheda.php?cat=capsule&nome=crema
mostrando l'url amichevole all'utente.
Molte guide online trascurano la reale implementazione e si limitano agli aspetti apache della questione e mi manca sempre qualcosa.
Ho quindi preparato un rudimentale script che sostituisce spazi in favore di trattini per la creazione di link 'amichevoli' che puntano all'elenco per categoria e alla scheda del prodotto.
Poi effettuo l'operazione inversa sui parametri che arrivano alla pagina prodotto per passarli alla query.
Tutto va bene finché non incontro lettere accentate o simboli particolari.
Poss pure modificare lo script php per eliminare caratteri speciali o sostituire lettere accentate per creare il link
miosito.it/caffe/100-arabica (dove cat = 'Caffé' e nome = '100% Arabica')
Il problema è che un'operazione distruttiva sui parametri da passare mi impedisce poi di far funzionare la query nella pagina finale nelle condizioni "SELECT .... WHERE Cat='Caffe' AND Nome='100 Arabica'" (anziché Cat='Caffé' AND Nome = "100% Arabica").
Una soluzione sarebbe appendere anche l'id univoco prodotto alla query ma farei a meno di mostrarlo poi a fine url ma non pensate che poi torni ad essere 'non amichevole' oltre che inestetico?
Qual'è l'approccio più efficiente utilizzato?
È possibile ovviare senza intervenire con aggiunte di campi unique al db? Su due piedi temo che si complicherebbe troppo la gestione per automatizzarne un eventuale uso.
Ciao, grazie per qualunque spunto e comunque per aver letto