$ _SERVER ['REQUEST_URI'] неправильное значение - PullRequest
0 голосов
/ 19 ноября 2010

Я использую эту переменную для получения URL текущей страницы, например:

  $request = $_SERVER["REQUEST_URI"];

  $page = (is_ssl() ? 'https' : 'http').'://';
  if ($_SERVER["SERVER_PORT"] != "80")
    $page .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$request;
  else $page .= $_SERVER["SERVER_NAME"].$request;

Приложение.Я делаю это публично, и проблема в том, что на некоторых сайтах (очень редко) эта переменная возвращает весь URL, включая имя домена, а не только запрашиваемую страницу.Это неправильная конфигурация сервера?

1 Ответ

2 голосов
/ 21 ноября 2010

Это может быть где-то в вашем коде (или стороннем пакете) изменяющая эту переменную.

Вы можете grep.

grep -r -E '\$_SERVER\[[\'"]?REQUEST_URI[\'"]?\]\s?=[^=]+?'

Это регулярное выражение должно найти где $_SERVER['REQUEST_URI]присваивается, а не просто используется нормально или проверяется на равенство, например.Обратите внимание, что я также убрал флаг -i, потому что переменные PHP чувствительны к регистру и , так же как и ключи массива .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...