URL でパラメーター (query_string) を非表示にする方法、非表示のページに送信する方法、アドレス バーの
例では表示されない:
私はこれを持っています:
http://localhost/index.php?sent=true
私が欲しい:
http://localhost/index.php
しかし、PHP $_GET['sent'] で送信パラメータを取得したい
パラメータなし(query_stringなし)[R]でページにリダイレクトしようとした後、[R]リダイレクトなしで(アドレス自体を変更せずに)ページにいくつかのパラメータを(静かに)与えます
さまざまなフラグとさまざまな方法で htaccess で RewriteRule を使用しようとしましたが、何も機能しませんでした
ブラウザでアドレスを変更したい場合は、RewriteRule の 1 行で R フラグと L フラグを使用する必要があることを知りました - 他の方法では機能しません - アドレスは変更されません
しかし、[L]フラグを使用すると、次の行(次のRewriteRule)に移動できず、[R]リダイレクトなしでアドレスにクエリ文字列を追加できません
[L] フラグを最初の行に ([R] を使用して) 配置しない場合、新しいアドレスはありませんが、配置すると [C] フラグも [N] フラグも使用できません。
理由は次のとおりです。
私のページでは、フォームからデータが正常に送信された後、header('Location: ...?sent=true') 関数を使用します。ユーザーがページを更新して同じデータを再度送信したくないため、?sent=true にリダイレクトします。
しかし、 ?sent=true にリダイレクトした後、アドレスバーにその query_string を入れたくありません そのページには、他の POST データを送信し、この醜い query_string でページを更新するフォームがさらにあります
どうやってするか?