您的位置:首页 > 大数据 > 人工智能

$_SERVER['SERVER_SUBDOMAIN'],自定义$_SERVER变量

2014-05-04 16:02 309 查看
问题描述:$_SERVER['SERVER_SUBDOMAIN'],求解这个参数为什么在apche下无法正确获取。在nginx上正常呢?在wamp下,无 法获取到此参数,而在lnmp下可以正常获取(没有做任何特殊设置)。

分析:1.在apache下建立一个测试文件test.php,内容为:
<?php
$_SERVER['SERVER_SUBDOMAIN']='wy';
var_dump($_SERVER['SERVER_SUBDOMAIN']);
print_r( $_SERVER);die;
?>


           2.在nginx下也建立一个测试文件内容为print_r($_SERVER);

              由输出内容可以看出,在apache下,根本就没有这个$_SERVER['SERVER_SUBDOMAIN']变量。但是可以自己指定;而在nginx下,可以正常的输出。比如在地址栏中       输    入xx.baidu.com,那么可以输出结果为 'xx'。

                3.查询php手册在$_SERVER这个环境变量中是找不到的。问了大神才知道这个变量在apache下是需要特殊指定的。即在入口文件目录下的.htaccess文件中指定变量,内容如下
#Apache rewrite configuration
<ifmodule mod_rewrite="" c="">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
SetEnv SERVER_SUBDOMAIN wy
SetEnv SERVER_SUBDOMAIN lyl
</ifmodule>


后面两句代码是用来设置环境变量的,分别设置了wy   和  lyl  。作了这项设置后,当在浏览器地址栏中输入wy.baidu.com 或 lyl.baidu.com时。这个环境变量就可以分别获取到wy或lyl。

tips:在nginx上是不需要做任何配置的。可以正常使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: