当网站访问者手动更改URL时,如何根据URL设置cookie



我正在从Joomla到MODX的网站上工作,并希望从当前站点复制一些内容,但找不到代码在哪里管理的。基本上,当用户访问该站点时,他们的位置由IP确定,并将URL设置为example.com/dc-metro之类的东西,并将称为"市场"的cookie设置为" DC-Metro"。网站上有一个下拉访问者可以更改其位置的下拉,因此,如果他们选择"芝加哥",则URL变为example.com/chicago,并且市场cookie的更新为"芝加哥"。该部分效果很好,我遇到的问题是,如果用户在example.com/dc-metro/cool-things-to-do上,并且没有使用下拉列表来更改位置,而是将URL手动更改为example.com/chicago/cool-things-to-do,则页面刷新,但cookie尚未更新。

是否有一种方法可以执行诸如$SERVER['REQUEST_URI'](或类似的事情)之类的事情,以便从URL中拉出并在页面重新加载时设置cookie。我在网站上有几个位置,这些位置显示了基于市场cookie的变量,并且这些变量没有更新(例如,在我的下拉列表中,默认值是当前的市场位置)。

非常感谢您的任何帮助。

您可以使用parse_url函数。例如:

$url_path = parse_url($SERVER['REQUEST_URI'], PHP_URL_PATH);
$path_parts = explode('/', trim($url_path,'/'));
$location = $path_parts[0];

$位置变量将包含您需要的东西。然后,只有您需要做的事情就是用正确的值设置cookie。为此使用setcookie功能。

最新更新