Php $\u服务器[';HTTP#u主机';]仅显示不带www的域名
即使在url中我写了“www.”,$\u服务器['HTTP\u HOST']也只有domain.com没有“www.” 因此,我无法从非www重定向到www。如何解决这个问题Php $\u服务器[';HTTP#u主机';]仅显示不带www的域名,php,apache,Php,Apache,即使在url中我写了“www.”,$\u服务器['HTTP\u HOST']也只有domain.com没有“www.” 因此,我无法从非www重定向到www。如何解决这个问题 ["HTTP_HOST"]=> string(8) "ca-fi.ru" ["HTTP_COOKIE"]=> string(120) "d7b6b86aae18e551749a9da9d54f3daf=floar2lr37318dc76ask49bii5; 849
["HTTP_HOST"]=>
string(8) "ca-fi.ru"
["HTTP_COOKIE"]=>
string(120) "d7b6b86aae18e551749a9da9d54f3daf=floar2lr37318dc76ask49bii5; 849c6485c12558d081c065b4d94a566b=d9iqj8s6oqo41kipg3qaefq497"
["HTTP_USER_AGENT"]=>
string(99) "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5"
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"
["SERVER_SIGNATURE"]=>
string(69) "
Apache/2.2.20 (Ubuntu) Server at ca-fi.ru Port 80
"
["SERVER_SOFTWARE"]=>
string(22) "Apache/2.2.20 (Ubuntu)"
["SERVER_NAME"]=>
string(8) "ca-fi.ru"
["SERVER_ADDR"]=>
string(13) "192.168.10.12"
["SERVER_PORT"]=>
string(2) "80"
["REMOTE_ADDR"]=>
string(12) "192.168.10.1"
["DOCUMENT_ROOT"]=>
string(8) "/var/www"
["REQUEST_METHOD"]=>
string(3) "GET"
["REQUEST_URI"]=>
string(1) "/"
["SCRIPT_NAME"]=>
string(10) "/index.php"
["PHP_SELF"]=>
string(10) "/index.php"
["REQUEST_TIME"]=>
int(1338819407)
如果您只是想从非www重定向到www,我建议不要使用PHPs函数(我假设您正在使用),而是使用 在根目录中创建包含以下内容的
.htaccess
文件:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
你在做echo还是$var=。。。;使用您向我们展示的内容?
$\u服务器['HTTP\u HOST']
使用您的客户端发送的主机头进行设置。如果您在http://www.domain.com/
,主机标题将必须包含www
部分,因为浏览器将发送它。无法添加var_dump,因为“您的帖子没有太多上下文来解释代码部分;请更清楚地解释您的场景。”CodeCaster,他们将,但它并没有给@Jeroens回复和你的评论,你似乎已经有了一个重定向。如果您的.htaccess
执行重定向到您站点的非www主机,这就是您的答案。您是否启用了mod_rewrite?你用你的域名替换了example.com了吗?看看这个:如果我尝试这个,我会得到错误310(net::ERR_TOO_MANY_REDIRECTS):重定向太多了,我试图找出错误,但不知道。。。我认为这一切都是因为$_服务器['HTTP_HOST']中缺少www,但无法修复此问题