Pergunta

Eu habilitado reescrita de URL no meu site PHP com Apache ( http://example.com/ index.php? param = 12 se torna http://example.com/index/param/ 12 ).

Eu tenho algumas formas que estão em GET em vez de POST.

Depois de subitting a forma, o URL resultante não é reescrito.

É possibile para manter URLs reescritos depois de enviar um formulário GET?

UPDATE: Eu encontrei este artigo sobre o tema http://matthewjamestaylor.com/blog/how-to-post-forms-to-clean-rewritten-urls mas eu realmente não gosto da idéia de redirecionar a reescrita URL. Não há realmente nenhuma maneira de manter URLs reescritos sem redirecionando?

UPDATE 2: Aqui está um exemplo do que estou tentando fazer. Digamos que eu tenho um formulário simples como isto:

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

E digamos que a minha url é http://example.com/index/param/12

Depois de enviar o formulário GET, o url se torna http: // example.com/index/param/12?q=my-input-text , enquanto eu gostaria de ter uma url reescrito como http://example.com/index/param/12/q/my-input-text

Foi útil?

Solução

Parece que se você quer que seu formulário para ir diretamente para /q/my-input-text você deve usar JavaScript para fazer isso acontecer em onSubmit do formulário.

Outras dicas

apache mod_rewrite apenas processa (pedido) URLs de entrada - não tem controle dos urls que você gerar em seus scripts PHP. Este é algo que você deve cuidar de si mesmo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top