php - 在 URL 中保留一个 GET 变量

标签 php .htaccess session cookies session-cookies

我有一个有点奇怪的问题,我相信你们中的大多数人都意识到这类问题是在开发人员无法控制的某些情况下出现的!

我想研究如何始终在 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/

相关文章:

php - 将 html 代码转换为纯文本时出现问题

php - 如何在 heroku 上使用 redis 云进行 codeigniter session

javascript - 在 php 中使用下拉菜单排序和检索数据

php - 有没有办法创建 Doctrine 2 实体管理器的模拟并在 Symfony 2 PHPUnit 测试中为其提供模拟实体?

php - 如何从 DQL 查询返回对象?

php - 在 codeigniter 中获取唯一的 session ID

php - 在 PHP 中为同一网站的不同页面生成多个 session ID

.htaccess - 如何解决 'Missing Cross-Origin Resource Sharing (CORS) Response Header' webfont 问题?

java - .htaccess 和 SocketException : Connection reset, SocketException:管道损坏

regex - .htaccess 使用代理从子目录重定向到另一个域