我正在进行从Joomla到MODX的网站重新设计,并希望从当前网站复制某些内容,但无法找到管理此代码的代码。基本上,当用户访问该站点时,他们的位置由IP确定,并将URL设置为example.com/dc-metro
,并将名为“market”的cookie设置为“dc-metro”。网站上有一个下拉列表供访问者更改其位置,因此如果他们选择“芝加哥”,则网址变为example.com/chicago
,市场Cookie更新为“芝加哥”。该部分效果很好,我遇到的问题是,如果用户在example.com/dc-metro/cool-things-to-do
上,而不是使用下拉列表更改位置,他们会手动将网址更改为example.com/chicago/cool-things-to-do
,页面会刷新,但是cookie未更新。
有没有办法做一些像$SERVER['REQUEST_URI']
(或类似的东西)来从URL中提取并在页面重新加载时设置cookie。我在网站上有几个地方根据市场cookie显示变量,而这些变量没有更新(例如,在我的下拉列表中,默认值是当前市场位置)。
非常感谢您提前寻求帮助。
答案 0 :(得分:1)
您可以使用parse_url
功能。例如:
$url_path = parse_url($SERVER['REQUEST_URI'], PHP_URL_PATH);
$path_parts = explode('/', trim($url_path,'/'));
$location = $path_parts[0];
$ location变量将包含您需要的内容。然后,您需要做的只是使用正确的值设置cookie。使用setcookie
功能。