Domanda

Ho abilitato la riscrittura degli URL sul mio sito PHP con Apache ( http://example.com/ index.php? param = 12 diventa http://example.com/index/param/ 12 ).

Ho alcune forme che si trovano in GET anziché in POST.

Dopo aver inviato il modulo, l'URL risultante non viene riscritto.

È possibile mantenere gli URL riscritti dopo aver inviato un modulo GET?

AGGIORNAMENTO: ho trovato questo articolo sull'argomento http://matthewjamestaylor.com/blog/how-to-post-forms-to-clean-rewritten-urls ma non mi piace l'idea di reindirizzare a URL riscritto. Non c'è davvero modo di mantenere gli URL riscritti senza reindirizzare?

AGGIORNAMENTO 2: Ecco un esempio di ciò che sto cercando di fare. Diciamo che ho una forma semplice come questa:

<form method="get" action="">
   <fieldset>
      <input type="text" name="q" />
      <input type="submit" value="Search" />
   </fieldset>
</form>

e supponiamo che il mio URL sia http://example.com/index/param/12

Dopo aver inviato il modulo GET, l'URL diventa http: // esempio.com/index/param/12?q=my-input-text , mentre vorrei ottenere un URL riscritto come http://example.com/index/param/12/q/my-input-text

È stato utile?

Soluzione

Sembra che se vuoi che il tuo modulo vada direttamente in / q / my-input-text dovresti usare JavaScript per farlo accadere sul onSubmit del modulo.

Altri suggerimenti

apache mod_rewrite elabora solo gli URL (richieste) in entrata - non ha alcun controllo sugli URL che generi negli script php. Questo è qualcosa che dovresti prenderti cura di te.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top