在我的本地环境中(Apache 2.2.26上的PHP 5.4.24)$_SERVER["SCRIPT_URL"]
存在,但我读到这个变量并不总是存在,即使我找不到它的确切时间和当它不是。
我想知道这个变量可靠地存在需要什么。
答案 0 :(得分:5)
仅在启用mod_rewrite时才可用:
http://httpd.apache.org/docs/2.0/rewrite/rewrite_intro.html#EnvVar
答案 1 :(得分:4)
此变量在很大程度上取决于服务器的配置。
例如,当使用带有php5-fpm(fcgi)的nginx时,你将该变量作为fpm_parameter传递:
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
scgi有一个类似的配置。
$_SERVER
中有3种类型的全局变量,有些是从客户端的请求头中获取的,并且不可靠,有些是由PHP / Webserver设置的(例如REMOTE_ADDR
)并且非常可靠,有些依赖于您的配置,这取决于该配置是否可靠。