Я включил перезапись URL на своем сайте PHP с Apache (http://example.com/index.php?param=12 становится http://example.com/index/param/12).
У меня есть несколько форм, которые находятся в GET вместо POST.
После заполнения формы полученный URL не переписывается.
Можно ли сохранить переписанные URL после отправки формы GET?
ОБНОВЛЕНИЕ: я нашел эту статью по теме http://matthewjamestaylor.com/blog/how-to-post-forms-to-clean-rewritten-urls, но мне действительно не нравится идея перенаправления на переписанный URL. Неужели нет способа сохранить переписанные URL-адреса без перенаправления?
ОБНОВЛЕНИЕ 2: Вот пример того, что я пытаюсь сделать. Допустим, у меня есть такая простая форма:
<form method="get" action=""> <fieldset> <input type="text" name="q" /> <input type="submit" value="Search" /> </fieldset> </form>
и скажем, мой URL-адрес http://example.com/index/param/12
После отправки формы GET, URL становится http://example.com/index/param/12?q=my-input-text,, в то время как я хотел бы получить переписанный URL, например http://example.com/index/param/12/q/my-input-text
Похоже, что если вы хотите, чтобы ваша форма перешла прямо на /q/my-input-text, вам следует использовать JavaScript, чтобы это произошло на onSubmit.
/q/my-input-text
onSubmit
apache mod_rewrite обрабатывает только входящие (запрашиваемые) URL - он не контролирует URL, которые вы генерируете в своих php-скриптах. Это то, о чем вы должны позаботиться о себе.