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

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

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

2 ответа

Он доступен только тогда, когда у вас включен mod_rewrite:

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

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

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

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

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

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

Другие вопросы по тегам