Pregunta

He habilitado la reescritura de URL en mi sitio PHP con Apache ( http://example.com/ index.php? param = 12 se convierte en http://example.com/index/param/ 12 ).

Tengo algunos formularios que están en GET en lugar de POST.

Después de submitir el formulario, la URL resultante no se vuelve a escribir.

¿Es posible mantener las URL reescritas después de enviar un formulario GET?

ACTUALIZACIÓN: Encontré este artículo sobre el tema http://matthewjamestaylor.com/blog/how-to-post-forms-to-clean-rewritten-urls pero realmente no me gusta la idea de redireccionar a una URL reescrita. ¿Realmente no hay manera de mantener las URL reescritas sin redirigir?

ACTUALIZACIÓN 2: Aquí hay un ejemplo de lo que estoy tratando de hacer. Digamos que tengo una forma simple como esta:

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

y digamos que mi url es http://example.com/index/param/12

Luego de enviar el formulario GET, la url se convierte en http: // example.com/index/param/12?q=my-input-text , aunque me gustaría obtener una URL reescrita como http://example.com/index/param/12/q/my-input-text

¿Fue útil?

Solución

Parece que si desea que su formulario vaya directamente a / q / my-input-text , debe usar JavaScript para que eso suceda en el onSubmit .

Otros consejos

apache mod_rewrite solo procesa las urls entrantes (de solicitud), no tiene control de las urls que generas en tus scripts php. Esto es algo que debes cuidar de ti mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top