Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    doppio cambio di indirizzo con mod_rewrite

    salve a tutti,
    dopo ore di fatica sono riuscito a far funzionare una regola che dovrebbe far questo:
    ho un form per la ricerca che chiama il file search.php ed al nome del file si accoda il parametro id che cotiene le parole inserite nel form per la rcerca. io vorrei che nella barra degli indirzzi non appaiano tutti i parametri che passo io ma solo una cosa del genere:

    search/parole per la ricerca

    ma una volta fatto apparire questo nella barra, vorrei che si chiamasse realmente il file search.php per restituire i risultati.

    spero di essere stato chiaro. io ho fatto una cosa del genere:

    codice:
    RewriteEngine On 
    RewriteCond %{QUERY_STRING} id=(.*) 
    RewriteRule ^/?prova\.php$ http://localhost:85/001/prova/search/%1? [R=302,L] 
    RewriteRule ^/?search/(.*)$ prova.php?id=$1 [L]
    l'ho un pò semplificata dai parametri per permettere una lettura migliore.

    ora arriva la mia richiesta: per far funzionare quanto sopra ho dovuto mettere nella regola alla terza riga tutto l'indirizzo (lo script si trova nella cartella "prova"), non è possibile evitarlo??

    grazie

    Marco
    warcomeb - IL LEADER O.O.O.

  2. #2
    qualcuno mi aiuta per favore...???

    dato che ci sono faccio un'altra domanda:

    codice:
    RewriteCond %{QUERY_STRING} page=search 
    RewriteCond %{QUERY_STRING} query=(.*)&negnome=([a-zA-Z0-9-]+) 
    RewriteRule ^/?search\.php$ http://localhost:85/001/prova.it/%2/search/%1? [R=301,L]
    RewriteRule ^/?([a-zA-Z0-9-]+)/search/(.*)/?$ search.php?negnome=$1&search-input=$2&page=search&menu=home [L]
    questa è la versione intera della regola che ho messo nel precendete post.
    oltre a rinnovare la richiesta per la mia prima domanda vi chiedo anche: come potete vedere, nella seconda riga ho scritto che devono essere presenti quei due parametri per far si che la condizione sia verificata, io mi chiedo e se per caso quei due parametri non si trovano in quell'ordine? la regola si var a far friggere!!!!

    allora ho provato una cosa del genere:
    codice:
    RewriteCond %{QUERY_STRING} page=search 
    RewriteCond %{QUERY_STRING} query=(.*)&
    RewriteCond %{QUERY_STRING} negnome=([a-zA-Z0-9-]+) 
    RewriteRule ^/?search\.php$ http://localhost:85/001/prova.it/%2/search/%1? [R=301,L]
    RewriteRule ^/?([a-zA-Z0-9-]+)/search/(.*)/?$ search.php?negnome=$1&search-input=$2&page=search&menu=home [L]
    ma purtroppo non funziona, infatti nella barra degli indirizzi appare:

    http://localhost:85/001/prova.it//search/xxxx (notare la doppia barra ad indicare lo spazio vuoto dove apache non ha messo niente)

    dove xxxx è la variabile negnome.

    ma perchè quella che in teoria è la seconda variabile(%2) diventa la prima(%1) mentre nella seconda non c'è niente?????


    help me!!!

    grazie

    Marco
    warcomeb - IL LEADER O.O.O.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.