转发 URL 参数的链接

Posted

技术标签:

【中文标题】转发 URL 参数的链接【英文标题】:Link that forwards the URL's parameters 【发布时间】:2020-07-18 13:27:03 【问题描述】:

有一个主要的销售页面:site.com/sales-page

该页面接收来自不同流量来源的访问者,并在其 URL 参数中提及他们,例如:site.com/sales-page?utm_source=fbads&utm_campaign=banner

那个销售页面有一个指向立即购买的链接

如何通过立即购买按钮将当前窗口中的所有 URL 参数(例如“?utm_source=fbads&utm_campaign=banner”)自动传递到下一页?

我需要这个,以便结帐页面根据转发参数知道流量来自哪里。

PS:我想传递 URL 中所有可用的参数,而不仅仅是预定义的参数。

PPS:解决方案必须适用于大多数浏览器和静态页面,最好不要使用 cookie/php

非常感谢。

【问题讨论】:

“立即购买”有什么作用,它只是一个链接吗?您不能在该链接的末尾添加相同的查询字符串,然后在下一页阅读它吗? 是的,只是一个链接。我将如何动态添加它? URL 参数一直在变化,utm_source=fbads、utm_source=googleads、utm_source=pinterest 等。 【参考方案1】:

没有办法使用 html 来实现这一点。您必须使用编程语言。

例如:

<?php
    $url = "http://example.com/foo/?" . $_SERVER['QUERY_STRING'];
?>
<a href="<?= htmlspecialchars($url); ?>">link</a>

如果您不想使用 PHP,则可以使用其他编程语言。

【讨论】:

我的网站托管在 S3 上,所以我不能使用 PHP。我认为 javascript 应该可以正常工作?【参考方案2】:

仅使用 html 是无法做到的。最好的解决方案是服务器端代码。后备是使用 JavaScript,但如果 JavaScript 被禁用,这将不起作用。您可以从 url 读取搜索并将其添加到您的链接中。

<a id="buyNow" href="http://www.example.com">Buy</a>    
<script>
  (function () 
    var lnk = document.getElementById("buyNow");
    lnk.href = lnk.href + window.location.search;
  ())
</script>

这假设链接上已经没有查询字符串。如果有,您需要将搜索中的? 替换为&amp;

【讨论】:

太棒了,正是我需要的。非常感谢!

以上是关于转发 URL 参数的链接的主要内容,如果未能解决你的问题,请参考以下文章

转发.隐藏JSP.URL地址.md

nginx根据url中的参数进行转发

php 后台转发和重定向的区别及kohana框架当前url加参数方式

查找谁公开共享链接并查找谁转发了给定链接

nginx配置根据url的参数值进行转发

请求转发 和 URL 重定向