Problema rewrite rule file .htaccess

  • Creatore Discussione Creatore Discussione LaKanka
  • Data di inizio Data di inizio

LaKanka

Utente Attivo
29 Ago 2008
166
0
0
Ciao a tutti, volendo aumentare l'indicizzazione delle pagine del mio sito web ho pensato di mettere in pratica i rewrite rule..

ho un form nell'index.php che mi manda alla pagina ricerca.php e gli passo come variabili GET categoria e tipologia...
quindi la pagina a cui vorrei impostare il rewrite è ricerca.php?categoria=A&tipologia=B

ho creato un file (con blocco note) e l'ho chiamato .htaccess, dove all'interno ho scritto:

RewriteEngine On
RewriteRule ^ricerca/([0-9]+)/([^/]+).html /ricerca.php?categoria=$1&tipologia=$2

esattamente come trovato nella guida meravigliosa "Guida pratica al modulo Rewrite in Apache"
e questo file l'ho salvato nella cartella principale del sito web.. spero di aver fatto bene...

il fatto è che non accade nulla... mi manda alla pagina ricerca.php?categoria=etc etc....

ho chiesto al provider se potevo utilizzare le direttive più comuni del mod_rewrite ed inserire un file .htaccess e scriverci all'interno queste regole:

RewriteEngine On
RewriteRule ^notizie/([^/]+).html notizie.php?id=$1 [L]

e mi ha risposto che si può certamente usare la regola indicata nell' esempio. Se questa regola dovesse darle errore, inserisca nel file .htaccess, prima della RewriteRule stessa la riga:
Options -Multiviews

io ho provato in tutti i modi ma non succede niente.... continuo a vedere nella barra di navigazione la mia pagina php... dove sbaglio???:hammer:
 
CIao,
ma hai provato direttamente in remoto (sul tuo sito web) o hai anche fatto un test in locale.

Io farei prima un collaudo in locale, se funge, è un problema legato al tuo isp.

Ciro
 
isp? scusa ma non ho capito cosa intendi...

Comunque ho provato solo on line perchè in remoto non ho installato apache..
 
"ho chiesto al provider "

quindi hai provato sul web direttamente?
Se si allora l'hai provato in remoto e ti consiglio di provare in locale installando apache.
 
Si scusa volevo dire che in locale non ho installato apache...

è una "struma" (come si dice nel ferrarese... sbattimento) che vorrei evitare... anche perchè se mi funziona in locale cosa ne ricavo?
Il sito su cui lavoro non ha accessi da settimane, posso lavorarci senza problemi e pastrocchiare finchè mi pare...

Non posso aver sbagliato le espressioni regolari....

se la pagina è ricerca.php?categoria=Foto&tipologia=Estate
la dicitura corretta è
RewriteRule ^/ricerca/([A-Za-z]+)/([A-Za-z]+).html ricerca.php?categoria=$1&tipologia=$2

ho controllato su tutte le guide possibili...
 
Questa poi, forse io non ho capito proprio niente allora... quando ho esposto il mio problema al provider mi hanno risposto:

"bisogna fare attenzione a non confondersi sulle funzioni del file .htaccess in materia di riscrittura degli URL.
Il compito del file .htaccess è di reindirizzare URL non realmente esistenti, come:

miosito.it/ricerca/Foto/Estate.html

in URL realmente esistenti come:

miosito.it/ricerca.php?categoria=Foto&tipologia=Estate

Il file .htaccess non ha il compito di "trasformare" un URL reale in un URL friendly USER."

Allora qualcuno riesce a spiegarmi come faccio a visualizzare la pagina di ricerca, che è una pagina dinamica, se non esiste??
AIUTOOO!:incazz2:
 
ce l'ho fatta!! finalmente ho capito, stavo facendo il contrario...

Ora però mi sorge il problema del passaggio parametri:

ho la pag miosito.it/ricerca/Foto/Estate.html che mi visualizza miosito.it/ricerca.php?categoria=Foto&tipologia=Estate
perfetto... ma se volessi passargli i parametri del multi pagina ad esempio o ancoraggi etc... come posso fare senza inserire "/"?

esempio devo arrivare alla pag miosito.it/ricerca.php?categoria=Foto&tipologia=Estate&page=1&leggi=4&ordine=data
posso trasfosmarla in miosito.it/ricerca/Foto/Estate.html?page=1&leggi=4&ordine=data
ho provato ma non funziona, i parametri se non li separo con / non li legge!!
ma ne ho bisogno poichè se inserisco altre sottocartelle se faccio un submit del form mi ritrovo alla pag:miosito.it/ricerca/Foto/ricerca/Foto/Estate.html ed ovviamente da errore...

qualcuno può illuminarmi??
 

Discussioni simili