Php 将值插入URL路径

Php 将值插入URL路径,php,str-replace,request-uri,Php,Str Replace,Request Uri,我有一个网站,其内容与市场位置不同,因此我正在为用户位置设置cookie。如果用户试图直接访问登录页,我希望将市场位置插入URL 例如,如果用户尝试转到www.mysite.com/packages,我想将URL更新为www.mysite.com/tampa/packages 我有一个名为“市场”的cookie集,这是我正在尝试的代码,但它不起作用 <?php switch ($_COOKIE['market']) { case "tampa": $url = $_SERVE

我有一个网站,其内容与市场位置不同,因此我正在为用户位置设置cookie。如果用户试图直接访问登录页,我希望将市场位置插入URL

例如,如果用户尝试转到
www.mysite.com/packages
,我想将URL更新为
www.mysite.com/tampa/packages

我有一个名为“市场”的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
}
您需要使用函数用新URL重新加载网页,如下所示:

而不是:

return $currenturl;
做:


在执行此操作之前,请确保没有输出到浏览器。

我确信这是正确的解决方案,我使用的是MODX CMS,因此我只需要找出另一行添加,如
echo$MODX->sendRedirect($currenturl),array('type'=>'REDIRECT_HEADER')(当我设置另一个header()来设置cookie时,我必须执行类似的操作)。非常感谢。通过
找出另一行你需要什么?例如,当我设置cookies时,我必须编写类似
case'Tampa'的代码:$ip_market='Tampa';标题(“设置Cookie:market=$ip_market;Path=/;Expires=“.gmdate('D,dm Y H:i:s\G\M\T',time()+720*60*60));echo$modx->sendRedirect('tampa/',array('type'=>'REDIRECT_HEADER');中断
Header('Location: '.$currenturl);