我正在寻找想要帮助我解决这个奇怪问题的php专家。 添加下面的脚本有时候效果很好。 我有三个域指向一个目录。 Google地图要求每个域都有唯一的API密钥。 我的脚本必须在线更改键值。 我看到来自IE8的页面总是正确显示但是从Chrom和Firefox这个脚本有问题,但并不总是如此。当然我控制了页面的来源,并且空的地方应该是脚本src。 谢谢 祝你有愉快的一天!
页面的HEAD中添加了完整的代码。
<?php
if ($_SERVER['HTTP_HOST']=='napuzaka.pl')
{echo "<script src='http://maps.google.com/maps?file=api&v=2&key=http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBTpouANZ5f-taQv7LHvODzA4dkDHBSIDoDMuDCbfgg0tAyoHhFajBNCJQ' type='text/javascript'></script>"; }
if ($_SERVER['HTTP_HOST']=='xn--napuaka-zwb.pl')
{echo "<script src='http://maps.google.com/maps?file=api&v=2&key=http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBSz8IVGRhEo79udyNR7B2dzTza61xRpT9lPIg18vhQmddrMIlSVereK3g' type='text/javascript'></script>";}
if ($_SERVER['HTTP_HOST']=='xn--przychodnia-na-puaka-yle.pl')
{echo "<script src='http://maps.google.com/maps?file=api&v=2&key=http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBTIBRlPbe0ldXIT_VQB31noUDT8mRReXxc12wAWIs4fuEXiTbsZ0HvViA' type='text/javascript'></script>";}
?>
答案 0 :(得分:0)
只是在不起作用的情况下打印$ _SERVER ['HTTP_HOST']并将它们添加到if ...它与浏览器如何解析IDN(国际化域名)http://en.wikipedia.org/wiki/Internationalized_domain_name
答案 1 :(得分:0)
为什么不使用变量控制域,然后使用switch语句echo
?
$page = $_SERVER['PHP_SELF'];
switch ($page)
{
case 'http://xn--przychodnia-na-puaka-yle.pl':
print '<script src="http://maps.google.com/maps?file=api&v=2&hl=en&sensor=false&key="ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBTIBRlPbe0ldXIT_VQB31noUDT8mRReXxc12wAWIs4fuEXiTbsZ0HvViA" type="text/javascript"></script>';
break;
case 'http://napuzaka.pl': /* same with this case just different API Key*/
break;
case 'http://xn--napuaka-zwb.pl': /* same with this case just different API Key*/
break;
}
此外,使用print
代替echo
可以在此过程中节省一些内存,因为echo
函数有自己的微型工厂,只有在打印变量时才能使用带有变量的文本,以使其更快。