将值插入 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);

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