HomePHP › IIS windows и серверная переменная ‘REQUEST_URI’

IIS windows и серверная переменная ‘REQUEST_URI’

Если у вас PHP работает на сервере с IIS от Windows, то может возникнуть ситуация когда серверная переменная $_SERVER[‘REQUEST_URI’] возвращает НИЧЕГО.

В таком случае ваши скрипты будут работать некорректно.
В этом случае поступаем следующим образом. Надо написать такой код:


if (!isset($_SERVER['REQUEST_URI']))
{
       $_SERVER['REQUEST_URI'] = substr($_SERVER['PHP_SELF'],1 );
       if (isset($_SERVER['QUERY_STRING'])) { $_SERVER['REQUEST_URI'].='?'.$_SERVER['QUERY_STRING']; }
}

После этого ваш скрипт будет работать корректно.

ПС: Иногда необходимо добавить слеш к получаемой переменной.
$_SERVER[‘REQUEST_URI’] = «/».substr($_SERVER[‘PHP_SELF’],1 );

Leave a Comment