搜索并替换查询字符串中的多个查询参数键(如果找到),则为301

时间:2019-03-26 20:05:18

标签: php

  • 我正在尝试搜索并替换查询字符串中的多个参数键。
  • 如果找到至少需要替换的键之一,那么我需要使用301重定向
  • 我不会为了降低服务器性能而跳过不必要的周期
  • 并保持逻辑整洁和自由破解

我已经开始编码,并提出了以下代码段,但是我确信可以安全,快捷地完成此操作。我也没有找到这个问题的答案。

(为什么要这样做?作为服务器迁移的一部分,我们需要开始将旧的属性键重命名为其新的2019值。只有...外部系统链接到我们,我们不希望丢失这些外部交互。因此,两者旧的和新的应该继续工作。与此同时,我们在旧系统中设置了新属性,这样一来它们就可以正确迁移)

我如何:在php中重命名查询参数键,并在进行更改后发送301。只要!用于GET请求。

[更新]代码正在进行中

parse_str($_SERVER['QUERY_STRING'], $params);
    if (count($params)) {
        $params_replace = array(
                    'b' => 'manufacturer'
                    );
        $found = false;
        $url = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
        foreach ($params_replace as $search => $replace) {
            if ($params[$search]) {
                $params[$replace] = $params[$search];
                unset($params[$search]);
                $found = true;
            }
        }
        if ($found) {
            header("Status: 301 Moved Permanently");
            header('Location: https://' . $_SERVER['HTTP_HOST'] . $url . '?' . urldecode(http_build_query($params)));
        }
    }

0 个答案:

没有答案