将值插入 URL 路径
Insert value to URL path
我有一个网站,其内容因市场位置而异,因此我为用户位置设置了 cookie。如果用户尝试直接进入登陆页面,我想将市场位置插入 URL.
例如,如果用户尝试去 www.mysite.com/packages
我想将 URL 更新为 www.mysite.com/tampa/packages
我有一个名为 "market" 的 cookie 集,这是我正在尝试的代码,但它不起作用。
<?php
switch ($_COOKIE['market']) {
case "tampa":
$url = $_SERVER['REQUEST_URI'];
switch (true) {
case strstr($url, 'packages'):
$currenturl = str_replace('/packages','/tampa/packages/',$url);
return $currenturl;
break;
}
break;
// etc for other markets
}
PHP 是正确的方法吗?有更好的解决方案吗?预先感谢您的帮助。
您需要使用 header()
函数重新加载带有新 URL 的网页,如下所示:
而不是:
return $currenturl;
做:
Header('Location: '.$currenturl);
确保在执行此操作之前没有输出到浏览器。
我有一个网站,其内容因市场位置而异,因此我为用户位置设置了 cookie。如果用户尝试直接进入登陆页面,我想将市场位置插入 URL.
例如,如果用户尝试去 www.mysite.com/packages
我想将 URL 更新为 www.mysite.com/tampa/packages
我有一个名为 "market" 的 cookie 集,这是我正在尝试的代码,但它不起作用。
<?php
switch ($_COOKIE['market']) {
case "tampa":
$url = $_SERVER['REQUEST_URI'];
switch (true) {
case strstr($url, 'packages'):
$currenturl = str_replace('/packages','/tampa/packages/',$url);
return $currenturl;
break;
}
break;
// etc for other markets
}
PHP 是正确的方法吗?有更好的解决方案吗?预先感谢您的帮助。
您需要使用 header()
函数重新加载带有新 URL 的网页,如下所示:
而不是:
return $currenturl;
做:
Header('Location: '.$currenturl);
确保在执行此操作之前没有输出到浏览器。