我在一台服务器上有一个. net MVC应用程序,我从另一台服务器上运行的PHP页面发布了一个表单。然后,应用程序重定向回原来的PHP脚本页面。
然后将该站点返回给客户机。很简单。
然而,在重定向(ASP。. NET端),我发送一个查询字符串来检查php代码,在浏览器中显示查询字符串。
我如何首先获得查询字符串值(只有一个),然后删除它,所以当页面返回到浏览器时,它不显示查询字符串,因为它包含了我不希望用户看到的信息
我试过了
<?php unset($_GET['token']); ?>
没有成功。我也试过用
重定向header('Location: ... ')
,但这只是重定向,新的PHP文件没有初始查询字符串来执行该操作。
我也读过关于重定向到一个表单与隐藏值和自动提交通过javascript,如果有必要,我可以使用它,但它似乎是错误的回到客户端发送我回到完全相同的php脚本只是从url剥离查询字符串。
由于CORS,我不能使用ajax post到asp.net页面,所以我也不能这样做。
是我想要实现的,而不是javascript方法可能吗?
您可以使用。htaccess从URL中删除所有或特定的GET参数
删除查询字符串
完全删除查询字符串。
RewriteRule ^/page /page?
删除单个键/值
从查询字符串中删除单个键/值对。这个例子通过匹配任何值来扩展上面的例子,并删除多个连续的'&'字符。
RewriteCond %{QUERY_STRING} (.*)(?:^|&)unWantedKey=(?:[^&]*)((?:&|$).*)
RewriteCond %1%2 (^|&)([^&].*|$)
RewriteRule ^(/path)$ $1?%2
在你的例子中unWantedKey
= token
参考:http://wiki.apache.org/httpd/RewriteQueryString