用户进来网站的时候可能是从百度推广链接进来的,所以需求是想让整站链接都携带?后面的参数。如果直接在每个href后面接参数的话工作量会很大,现在想能不能通过别的方式去实现呢

解决方案 »

  1.   

    添加个js 让js去做,所有连接都给你带上随机参数
      

  2.   

    如果你认为书写 $_SERVER["QUERY_STRING"] 或 http_build_query($_GET) 工作量会很大的话,那就没有办法了
      

  3.   

    关键是要放到每次请求链接的后面,如果用header追加参数进行再次跳转的话,会有http头是302的问题,强制设置成200也没用
      

  4.   


    if ($_SERVER['HTTP_REFERER'] && strpos($_SERVER['REQUEST_URI'],"?") === false) {
        $path_url_router = "";
        if(strpos($_SERVER['HTTP_REFERER'],"?") !== false){
            $path_url_router = substr($_SERVER['HTTP_REFERER'],strpos($_SERVER['HTTP_REFERER'],"?"));
            header("location:".$_SERVER['REDIRECT_URL'].$path_url_router);
        }}
    通过这种方式可以暂时实现url携带参数跳转,不过会有跳转后http头是302的问题
      

  5.   

    header("location:" 就是 302 跳转
    而 header("location:" 是你自己发出的,怎么能说是问题?
      

  6.   

    除了这个方式还有更好的办法可以让url携带参数吗
      

  7.   

    所以参数是固定的?那为啥不存在session里呢
      

  8.   

    第一进入到网站的时候会携带参数,然后以后再点击网站内其他链接的时候,就会一直携带这个参数。取决于第一次进入到网站时携带的参数是什么,之后点击任何链接就一直是这个参数
    既然参数都是固定了,那每次跳转的时候再加上去就好了。楼上各位大神都说了,用cookie,用session,用全局变量==,方法有很多种
      

  9.   

    如果不考虑楼上大神的做法,那就用一个全局的js,通过后台把要携带的参数传给js,然后把所有的a标签都加上你要的参数,让前端去处理一个问题
      

  10.   

    第一进入到网站的时候会携带参数,然后以后再点击网站内其他链接的时候,就会一直携带这个参数。取决于第一次进入到网站时携带的参数是什么,之后点击任何链接就一直是这个参数
    既然参数都是固定了,那每次跳转的时候再加上去就好了。楼上各位大神都说了,用cookie,用session,用全局变量==,方法有很多种
    不过页面上的链接没有带参数,要经过一次跳转之后再加上参数。也就是说要跳转2次,并且第2次跳转用header的话会有301的头的问题
      

  11.   

    这个好像可以,不过做全局js的话,模板变量好像放到js文件里貌似不解析
      

  12.   

    第一次进来的时候session里存着不就行了,什么一定要在url里带着?
      

  13.   

    这个好像可以,不过做全局js的话,模板变量好像放到js文件里貌似不解析
    和模板变量没有关系,可以把变量放在一个隐藏的input里面,然后js取读就行