首页 > 解决方案 > 如果 url 更改,$_SERVER['QUERY_STRING'] 将变为空

问题描述

我有一个问题要解决。第一个 url 允许我在网站上显示或不显示信息。它工作正常。例如,我识别 Account&Edit 并采取行动。

http://localhost/boutique/index.php?Account&Edit
$_SERVER['QUERY_STRING'] = Account&Edit

如果我重写 url,系统无法工作,Account&Edit 变成 Account/Edit

http://localhost/boutique/index.php/Account/Edit
$_SERVER['QUERY_STRING'] = '';

当此元素 Account&Edit 更改时如何解决此元素? $_SERVER['QUERY_STRING']是空的就是这种情况。

谢谢你。

我这样做是为了解决问题。

public function getUrlwithoutSEFU() {
  if (empty($_SERVER['QUERY_STRING'])) {
    $url = $_SERVER['REQUEST_URI'];
    $replace = str_replace('index.php', '', $url);
    $replace = str_replace(CLICSHOPPING::getConfig('http_path'), '', $replace);
    $replace = substr($replace, 1);
    $replace = str_replace('/', '&', $replace);
    $url_string = $replace;
  } else {
    $url_string = $_SERVER['QUERY_STRING'];
  }

  return $url_string;
}

标签: php

解决方案


解决方案

public function getUrlwithoutSEFU() {
  if (empty($_SERVER['QUERY_STRING'])) {
    $url = $_SERVER['REQUEST_URI'];
    $replace = str_replace('index.php', '', $url);
    $replace = str_replace(CLICSHOPPING::getConfig('http_path'), '', $replace);
    $replace = substr($replace, 1);
    $replace = str_replace('/', '&', $replace);
    $url_string = $replace;
  } else {
    $url_string = $_SERVER['QUERY_STRING'];
  }

  return $url_string;
}

推荐阅读