php为链接页面保留相同的查询

php为链接页面保留相同的查询,php,url-redirection,Php,Url Redirection,我有以下情况。每当我的站点的当前页面的URL看起来像这样时:我需要我的用户从那里访问的所有页面自动在URL的最后添加“?no_redirect=true”部分,以便执行查询,但我不清楚如何执行 例如,在example.php上,我有以下链接指向我站点中的其他页面 -关于.php -contact.php 如果单击这些,则会分别重定向到about.php和contact.php。但是,如果地址栏上没有example.php,而是example.php?no_redirect=true,则应该分别重

我有以下情况。每当我的站点的当前页面的URL看起来像这样时:我需要我的用户从那里访问的所有页面自动在URL的最后添加“?no_redirect=true”部分,以便执行查询,但我不清楚如何执行

例如,在example.php上,我有以下链接指向我站点中的其他页面

-关于.php -contact.php

如果单击这些,则会分别重定向到about.php和contact.php。但是,如果地址栏上没有example.php,而是example.php?no_redirect=true,则应该分别重定向到about.php?no_redirect=true和contact.php?no_redirect=true

我试过这样的推荐人:

if (strpos($_SERVER['HTTP_REFERER'],'true') == false) { 
  $_GET['no_redirect']="true";
}
$no_redirect_param = "";

if(isset($_GET['no_redirect']) && $_GET['no_redirect'] == "true"){
    $no_redirect_param = "?no_redirect=true";
}
它不起作用。实现这一目标的最佳方式是什么


谢谢。

解决方案1:当用户请求
example.php
页面时,我建议在
$\u会话
上保存
no\u重定向
变量(真/假)

与其他页面相比,请检查
$\u SESSION
变量,而不是
$\u GET
变数


解决方案2:您可以基于
$\u GET
参数生成一个变量,如下所示:

if (strpos($_SERVER['HTTP_REFERER'],'true') == false) { 
  $_GET['no_redirect']="true";
}
$no_redirect_param = "";

if(isset($_GET['no_redirect']) && $_GET['no_redirect'] == "true"){
    $no_redirect_param = "?no_redirect=true";
}
然后在每个链接的末尾包含此变量:

<a href="about.php<?php echo $no_redirect_param; ?>">About</a>


谢谢,但这对我不起作用,因为我的网站上有很多链接,这种解决方案意味着为每个链接定义一个变量,这是不可能的。也许.htaccess会更好?我用一个更通用的解决方案更新了我的答案。不,您不能仅仅因为这个get参数而真正更改.htaccess。我不认为有任何其他解决方案可以传递get参数(不应该有)。我看到您编辑了答案,但问题基本相同。我需要为页面上的每个链接添加一个变量。不,您不能为每个链接添加一个变量。您只需将相同的变量连接到每个链接。你有多少个链接?相信我,很多,我会不时添加新的链接,所以这是不可能的。什么是
no\u redirect=true
?我有一个移动版的网站。当您从手机进入我的网站时,系统会自动将您重定向到手机版本,但之后您还可以选择查看PC版本。no_重定向意味着不重定向到移动版本。