我在一台服务器上有一个.NET MVC应用程序,我从一个运行在不同服务器上的PHP页面发布一个表单。该应用程序然后重定向回原始的PHP脚本页面。
然后将该网站返回给客户端。很简单。
但是,在重定向(ASP.NET端)上,我发送一个查询字符串以在php代码中检查,并在浏览器中显示查询字符串。
如何首先获取查询字符串值(只有一个),然后将其删除,这样当页面返回到浏览器时,它不会显示查询字符串,因为它包含我不知道的信息。我希望用户看到。
我试过了
<?php unset($_GET['token']); ?>
没有成功。我还尝试使用
进行重定向header('Location: ... ')
但当然只是重定向,新的PHP文件没有初始查询字符串来执行该操作。
我还阅读了关于重定向到具有隐藏值的表单和通过javascript自动提交的内容,如果有必要,我可以使用它,但回到客户端将我发送回完全相同的PHP脚本似乎是错误的从URL中删除查询字符串。
由于CORS,我无法在asp.net页面上使用ajax帖子,所以我也不能这样做。
除了javascript方法之外,我想要实现的目标是什么?
答案 0 :(得分:0)
您可以使用.htaccess从网址中删除所有或特定的GET参数
删除查询字符串
完全删除查询字符串。
RewriteRule ^/page /page?
删除单个键/值
从查询字符串中删除单个键/值对。此示例通过匹配任何值扩展上述值,并删除多个连续的&#39;&amp;&#39;字符。
RewriteCond %{QUERY_STRING} (.*)(?:^|&)unWantedKey=(?:[^&]*)((?:&|$).*)
RewriteCond %1%2 (^|&)([^&].*|$)
RewriteRule ^(/path)$ $1?%2
所以在您的情况下unWantedKey
= token