2016-06-07 27 views
1
<?php 
$sites = array(
    "en" => "http://webzp.com.ua/", 
    "ru" => "http://webzp.com.ua/ru", 
    "be" => "http://webzp.com.ua/be", 
    ); 

// Get 2 char lang code 
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); 
// Set default language if a '$lang' version of site is not available 
if (!isset($sites[$lang])) 
    { 
$lang = ‘en’; 
    } 
// Finally redirect to desired location 
header('Location: ' . $sites[$lang]); 
exit ; 
?> 

所以在Ru或者是它正常工作,并重定向到/ RU /,但在“EN”显示错误“太许多重定向“请帮忙,谢谢。犯错太多重定向只EN语言,对Ru或将其重定向到/ RU /正确

回答

0

您将用户重定向到http://DOMAIN/lang的事实不会更改浏览器发送的变量HTTP_ACCEPT_LANGUAGE的值。

您可以更改代码来检查两种 URL中的语言和HTTP_ACCEPT_LANGUAGE的值。你也应该考虑什么时候不要重定向用户(否则你将会有无限循环,就像你现在所做的那样)。

+0

对不起,以前没有做过这样的事情,请你做一个样本或说我在哪里可以阅读如何正确地做到这一点? –