隐藏URL中的一些GET参数

时间:2016-04-28 10:16:35

标签: .htaccess mod-rewrite url-rewriting url-redirection friendly-url

我使用PHP标头位置重定向页面:

浏览器中的当前网址

 https://mywebsite/open/firstpage/php/start.php?&cnt=us&language=en&url=http://secureURL.com

但想要展示

https://mywebsite/open/firstpage/php/start.php?&cnt=us&language=en

我在另一边使用GET方法来收集所有变量。我必须在查询字符串中隐藏&url,但希望在另一端$_GET['url']

接收它

如何在不显示网址查询字符串的情况下共享我的&url?我可以写htaccess吗?

2 个答案:

答案 0 :(得分:2)

重定向所有网址

RewriteEngine on
RewriteRule ^(.*) $1?%{QUERY_STRING}&url=http://secureURL.com [L]

仅重定向/open/firstpage/php/start.php

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/open/firstpage/php/start.php
RewriteRule ^(.*) $1?%{QUERY_STRING}&url=http://secureURL.com [L]

我认为这就是你想要的。

答案 1 :(得分:1)

你不能这样做。如果查询字符串中不存在参数,则它不会在任何地方可用,它就不存在。没有"隐藏"查询字符串。

但是,您可以使用某种形式的会话机制将一段数据从一个页面传递到另一个页面。你可以把它放在$ _SESSION中,或者使用cookies。 可能也是一种通过真正神秘的mod_rewrite魔法实现这一目标的方法,但你不应该沿着这条路走下去。真。

更重要的是:你想要实现什么目标?你为什么要这样做?

美学原因?然后要注意,现代浏览器倾向于隐藏用户的URI的查询字符串部分。

安全原因?然后,你做错了,你不应该使用客户很容易操纵的东西。

用户追踪?已经建立了解决方案(例如Google Analytics)。