如何在 url 中隐藏参数(query_string),但将它们发送到隐藏的页面,在地址栏中不可见
示例:
我有这个:
http://localhost/index.php?sent=true
我想要:
http://localhost/index.php
但我想在 PHP $_GET['sent'] 中获取发送参数
我试图重定向到没有参数的页面(没有 query_string)[R],然后在没有 [R] 重定向的情况下(无声地)给页面一些参数(不改变地址本身)
我尝试在 htaccess 中使用不同标志和不同方式的 RewriteRule,但没有任何效果
我了解到,如果我想在浏览器中更改地址,我必须在一个 RewriteRule 行中使用 R 标志和 L 标志 - 其他方式不起作用 - 地址不会改变
但是当我使用 [L] 标志时,我无法转到下一行(下一个 RewriteRule)并在没有 [R] 重定向的情况下将任何 query_string 附加到地址
如果我没有在第一行放置 [L] 标志(带有 [R]),我没有新地址,但如果我这样做 - 我不能使用 [C] 标志甚至 [N] 标志
原因如下:
在我的页面上,我在从表单成功发送数据后使用 header('Location: ...?sent=true') 函数我重定向到 ?sent=true 因为我不想用户刷新页面并再次发送相同的数据
但是在重定向到 ?sent=true 之后,我不想在地址栏中使用该 query_string,该页面上还有更多表单将发送其他 POST 数据并用这个丑陋的 query_string 刷新页面
怎么做?