我有一个有点奇怪的问题,我相信你们中的大多数人都意识到这类问题是在开发人员无法控制的某些情况下出现的!
我想研究如何始终在 URL 中保留一个查询字符串参数。如果未设置参数,我希望将默认值附加到 URL ?param=something
我之前问过一个与此相关的问题,并且能够使用 htaccess 添加默认查询 - 但这仅适用于初始请求,而我需要确保它始终存在于地址中。
我正在考虑使用 cookie - 用 PHP 设置,然后用 .htaccess 查询。
所以,我想问一下这是否可行,是否有更好的方法?
最佳答案
如果不更改所有 URL,我认为这是不可能的,正如所讨论的那样,这是一种非常 hacky 的方式。
我建议您给他们一个“特殊”按钮,让他们用来复制链接。让他们使用此按钮来复制链接而不是 URL。然后,您可以在不入侵网站的情况下正确控制数据。
编辑:您“可以”添加一些 JQuery 以将所有链接附加到您的参数中。你想过这个吗?
$(document).ready(function() {
$('a[href]').each(function() {
this.href = this.href + '?something=<?php echo $_SESSION["myparam"]; ?>'
});
});
您可以从初始页面加载/ session 中获取参数,但这需要您的用户启用 JS(现在大多数人都这样做)。
p.s 未经测试的半伪代码。如果您决定走这条路,我可以对其进行适当的测试。
关于php - 在 URL 中保留一个 GET 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14437162/