$ _SERVER : когда он надежно присутствует?

В моей локальной среде (PHP 5.4.24 на Apache 2.2.26) присутствует $_SERVER["SCRIPT_URL"] , но я читаю, что эта переменная не всегда присутствует, хотя я не мог найти ее точно, когда она есть и когда это не так.

Я хотел бы знать, что требуется для надежной подачи этой переменной.

    Он доступен только при включенном mod_rewrite:

    http://httpd.apache.org/docs/2.0/rewrite/rewrite_intro.html#EnvVar

    Эта переменная сильно зависит от конфигурации сервера.

    Например, при использовании nginx с php5-fpm (fcgi) вы передадите переменную как fpm_parameter:

     fastcgi_param SCRIPT_NAME $fastcgi_script_name; 

    Существует аналогичная конфигурация для scgi.

    Существует 3 типа глобальных переменных в $_SERVER , некоторые из них берутся из заголовка запроса клиента и не являются надежными, некоторые устанавливаются PHP / Webserver (например, REMOTE_ADDR ) и очень надежны, а некоторые зависят от вашей конфигурации, которая может быть в зависимости от этой конфигурации.