$_SERVER["SCRIPT_URL"]: когда он надежно присутствует?
В моем локальном окружении (PHP 5.4.24 на Apache 2.2.26) $_SERVER["SCRIPT_URL"]
присутствует, но я прочитал, что эта переменная не всегда присутствует, хотя я не мог точно определить, когда она есть, а когда нет.
Я хотел бы знать, что требуется для надежного присутствия этой переменной.
2 ответа
Он доступен только тогда, когда у вас включен mod_rewrite:
Эта переменная сильно зависит от конфигурации сервера.
Например, при использовании nginx с php5-fpm (fcgi) переменная будет передаваться как fpm_parameter:
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
Существует похожая конфигурация для scgi.
Есть 3 типа глобальных переменных в $_SERVER
некоторые взяты из заголовка запроса клиента и не являются надежными, некоторые устанавливаются PHP/Webserver (например, REMOTE_ADDR
) и очень надежны, а некоторые зависят от вашей конфигурации, которая может быть надежной в зависимости от этой конфигурации.