Apache / PHPでのURL書き換えとGETフォーム
-
05-07-2019 - |
質問
Apacheを使用してPHPサイトでURL書き換えを有効にしました( http://example.com/ index.php?param = 12 は http://example.com/index/param/になります12 )。
POSTではなくGETのフォームがいくつかあります。
フォームを送信した後、結果のURLは書き換えられません。
GETフォームを送信した後、書き換えられたURLを保持することは可能ですか?
更新:トピックでこの記事を見つけましたhttp://matthewjamestaylor.com/blog/how-to-post-forms-to-clean-rewritten-urls ですが、書き換えられたURLにリダイレクトするという考えは本当に好きではありません。リダイレクトせずに書き換えられたURLを保持する方法は本当にありませんか?
UPDATE 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だとしましょうa>
GETフォームを送信すると、URLは http://になりますexample.com/index/param/12?q=my-input-text 、 http://example.com/index/param/12/q/my-input-text
解決
フォームを / q / my-input-text
に直接移動したい場合は、JavaScriptを使用してフォームの onSubmit
でそれを行う必要があります。
他のヒント
apache mod_rewriteは着信(要求)URLのみを処理します-PHPスクリプトで生成するURLを制御しません。これはあなたがあなた自身の世話をするべきものです。