В моей локальной среде (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
) и очень надежны, а некоторые зависят от вашей конфигурации, которая может быть в зависимости от этой конфигурации.