- Home
- Categorie
- La Community Connect.gt
- Tutto sulla Community
- togliere l'identificatore nel rewrite
-
togliere l'identificatore nel rewrite
Salve a tutti,
una domanda che so già essere banale per molti di voi, ma io non sono un esperto di url rewrite.Hosting Linux, nel file .htaccess ho inserito la seguente regola di riscrittura:
RewriteEngine on
RewriteRule ^([0-9]+)-([^/]+).php$ nome.php?ide=$1&nome=$2
RewriteRule ([^/]+)-([0-9]+).php$ cognome.php?cognome=$1&ide=$2Il primo mi da pagine del tipo
3-nome.phpIl secondo
cognome-3.phpL'identificatore mi serve in tutti i modi per prelevare un record dal db in nome.php e cognome.php
Come posso toglierlo dalle pagine 3-nome.php e cognome-3.php per ottenere semplicemente nome.php e cognome.php?
Ho provato a mettere così:
RewriteEngine on
RewriteRule ([^/]+).php$ nome.php?nome=$1&ide=$2
RewriteRule ([^/]+)-qualcosa.php$ cognome.php?nome=$1&ide=$2
Ma alle pagine "nome.php" e "cognome.php" non viene passato l'identificatore che mi permette di prelevare i dati dal DB...Dove sbaglio???
Grazie a chiunque potrà darmi un suggerimento...
-
Non è che sbagli, è che proprio così non si può fare.
Tu considera che il giro del rewrite è il seguente. Dall'indirizzo che leggo ricavo le variabili da passare alla pagina che poi le processa.
Se tu chiami una pagina nome.php l'unica variabie che puoi passare è "nome" a questo punto..ma dato che come mi sembra di aver capito la tua discriminante è ide (identificativo I suppose) l apagina php che processerà i dati non ha la variabile per lavorare.
Quindi, o metti nel tuo db un identificativo che sia nome e poi fai le query su quello oppure devi per forza mettere l'identificativo.
A meno che tu non inserisca ogni nome in una tabella di correlazione, lo associ ad un id e poi passi da li per ricavarti l'ide, ma mi sembra un giro in più..forse più pulito a livello di rewrite ma più corposo a livello di programmazione.
Spero di averti dato le risposte che cercavi
-
Ti ringrazio!
La tua spiegazione è chiara e precisa. Dovrò utilizzare una pagina del tipo ide-nomepagina.php perchè l'identificatore (ide) è necessario per prelevare i dati dal DB.Un saluto e grazie ancora...