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