隐藏URL中的ref字符串,但将其传递给脚本

时间:2012-05-15 13:17:15

标签: php .htaccess redirect rewrite

如何隐藏?ref string来自用户,但是将其传递给php代码以便它能抓住它?

例如,访问者访问此页面:

http://mysite.com/?ref=ref+string

在浏览器网址中我想隐藏它,因此用户会看到“

http://mysite.com/

但是我想通过这个来获取ref string的内容:

$ref = $_GET['ref'];

有可能吗?

3 个答案:

答案 0 :(得分:3)

不,如果您想使用GET变量,它们将始终位于网址中。

但是,您可以使用替代方法,例如$ _SESSION或$ _POST变量。

答案 1 :(得分:2)

你可以在PHP脚本的顶部尝试这样的事情:

session_start();

if (isset($_GET['ref'])) {
    $_SESSION['ref'] = $_GET['ref'];
    header('Location: /');
    exit();
}

然而,您必须使用$_SESSION['ref']来访问此时的值。

答案 2 :(得分:0)

这不是how the http protocol works with query strings。如果您需要在查询字符串中包含要隐藏或混淆用户的信息,我建议使用简单加密来更改它。如果您出于审美原因试图删除此信息,则需要采用不同的方法生成标题或存储信息(会话/ cookie /等)。