PHP剥离查询字符串,使其不会';t将其返回给用户

PHP剥离查询字符串,使其不会';t将其返回给用户,php,Php,我在一台服务器上有一个.NETMVC应用程序,我在另一台服务器上运行的PHP页面上发布了一个表单。然后,应用程序重定向回原始PHP脚本页面 然后将该站点返回给客户机。很简单 但是,在重定向(ASP.NET端)上,我发送了一个查询字符串以在php代码中进行检查,并在浏览器中显示查询字符串 如何首先获取查询字符串值(只有一个),然后将其删除,以便当页面返回到浏览器时,不会显示查询字符串,因为它包含我不希望用户看到的信息 我试过了 <?php unset($_GET['token']); ?&g

我在一台服务器上有一个.NETMVC应用程序,我在另一台服务器上运行的PHP页面上发布了一个表单。然后,应用程序重定向回原始PHP脚本页面

然后将该站点返回给客户机。很简单

但是,在重定向(ASP.NET端)上,我发送了一个查询字符串以在php代码中进行检查,并在浏览器中显示查询字符串

如何首先获取查询字符串值(只有一个),然后将其删除,以便当页面返回到浏览器时,不会显示查询字符串,因为它包含我不希望用户看到的信息

我试过了

<?php unset($_GET['token']); ?>
当然,这只是重定向,新的PHP文件没有执行该操作的初始查询字符串

我也读过关于重定向到带有隐藏值的表单和通过javascript自动提交的内容,如果必要的话,我可以使用它,但是返回到客户端将我发送回完全相同的php脚本只是为了从url中删除查询字符串,这似乎是错误的

由于CORS的原因,我不能使用ajax发布到asp.net页面,所以我也不能这样做


除了javascript方法之外,我试图实现的是可能的吗?

您可以使用.htaccess从URL中删除所有或特定的GET参数

删除查询字符串

完全删除查询字符串

RewriteRule ^/page /page?
删除单个键/值

从查询字符串中删除单个键/值对。此示例通过匹配任何值扩展了上述示例,并删除了多个连续的“&”字符

RewriteCond %{QUERY_STRING}  (.*)(?:^|&)unWantedKey=(?:[^&]*)((?:&|$).*)
RewriteCond %1%2 (^|&)([^&].*|$)
RewriteRule ^(/path)$ $1?%2
因此,在您的情况下,
unWantedKey
=
token


参考资料:

你为什么不直接使用POST?@Riet-除了调整Wordpress网站,我并不真正使用PHP,所以我不太清楚你的意思。-谢谢你的评论。
$\u GET
只是传递表单的一种方式。有一种等效的
$\u POST
方法,专门设计用于不向用户显示类似的数据<代码>会将请求转换为post请求谢谢。不太了解PHP,这会删除每个页面的查询字符串值吗,或者我可以将其限制为仅一个页面。是的,您可以将其限制为仅一个页面,例如
RewriteRule^/page1.PHP/page1.PHP?
should“path”如果
http://example.com/segment-1/segment-2
然后
/path
=
/segment-2
/segment-1/segment-2
RewriteCond %{QUERY_STRING}  (.*)(?:^|&)unWantedKey=(?:[^&]*)((?:&|$).*)
RewriteCond %1%2 (^|&)([^&].*|$)
RewriteRule ^(/path)$ $1?%2