- Home
- Categorie
- La Community Connect.gt
- Tutto sulla Community
- Problema colla riscrittura degli URL (mod_rewrite)
-
@jo17 said:
Salve a tutti, io ho più o meno lo stesso problema, la prima regola chiamata funziona, la successiva (che è identica) no!!
il mio .htaccess è il seguente
RewriteEngine on
RewriteRule ^([0-9]+)-([^/]+).html$ lista_categorie.php?cta_codice_categoria=$1
RewriteRule ^([0-9]+)-([^/]+).html$ sottocategorie.php?pippo=$1E' la stessa regola e dunque non può riscrivere in due modi diversi.
-
Si avevo avuto il sospetto.. però fondamentalmente deve fare la stessa cosa solo che chiama due pagine diverse... come si dovrebbe gestire dunque? Io ho anche provato togliendo la parte ([0-9]+) e passandogli solo una variabile...e suppongo che valga poco questa modifica perchè continuoa a darmi pagina non trovata..
Ti ringrazio tantissimo per la risposta!!
-
Metti un qualcosa nella regola che le distingue. Per esempio:
RewriteEngine on RewriteRule ^([0-9]+)-codcat([^/]+)\.html$ lista_categorie.php?cta_codice_categoria=$1 RewriteRule ^([0-9]+)-sottocat([^/]+)\.html$ sottocategorie.php?pippo=$1
-
Uhmm... anche con queste modifiche mi da sempre errore 404 di pagina non trovata. Eppure dovrebbe essere così lineare!!
-
Errore 404 vuol dire due cose:
- Fa il redirect ma la pagina php non esiste
- La pagina html è diversa da quella definita nelle regole
-
Allora ho fatto un piccolo passo avanti... ho modificato htaccess in questo modo:
RewriteEngine on
RewriteRule ^([0-9]+)-codcat([^/]+).html$ lista_categorie.php?cta_codice_categoria=$1
RewriteRule ([0-9]+)-B.html$ sottocategorie.php?pippo=$1
in pratica ho tolto il simbolo ^ quando richiamo sottocategorie.php
Ora è giunto un altro problema... viene passata sempre la prima variabile selezionata.
Mi spiego meglio se alla prima chiamata di lista_categorie.php viene passata la variabile 01 anche quando richiamo sottocategorie.php passa sempre 01! Anche se sul link viene scritta la variabile giusta es miosito/SH01.html....
-
Non ho capito bene. Puoi farmi un esempio?
-
Ciao e grazie per la pasienza!
Il tutto è strutturato in questo modo:
dalla home page vado, tramite un menù generale, alle varie liste categorie, e qui faccio il primo revriterule, quindi ho il mio indirizzo convertito nel seguente modo:
miosito/01-codcatIncubatrici.html
dove 01 è il codice della categoria e incubatrici la descrizioneAll'interno di questa pagina c'è un elenco di sotto categorie e anche qui voglio la conversione dell'indirizzo, che fa correttamente in questo modo: miosito/H01-B.html dove H01 è il codice della sottocategoria da chiamare.
Se faccio un echo della query presente in questa pagina mi accorgo che passa sempre e comunque la variabile 01!Naturalmente la variabile passata per la query in get è pippo...
Da premettere che sono sul mio server in locale..
Ti ringrazio ancora!
-
Credo di aver capito. Prova così:
RewriteEngine on RewriteRule ^([0-9]+)-codcat([^/]+)\.html$ lista_categorie.php?cta_codice_categoria=$1 RewriteRule ^(.*)-B.html$ sottocategorie.php?pippo=$1
[0-9] vuol dire solo numeri.
-
SIII!!! HAI RAGIONE!!!
Giustamente gli dicevo di passare solo i numeri ed essendo una sottocategoria di 01, non capico che mi escludeva il carattere alfabetico!!!!
Ti ringrazio tantissimo per l'aiuto e per la pasienza!!!!
-
@jo17 said:
SIII!!! HAI RAGIONE!!!
Giustamente gli dicevo di passare solo i numeri ed essendo una sottocategoria di 01, non capico che mi escludeva il carattere alfabetico!!!!
Ti ringrazio tantissimo per l'aiuto e per la pasienza!!!!Figurati. A volte chi non risponde o non risponde in modo tale da risolvere il problema dipende solo dal fatto di non capire la reale esigenza o il problema.