我想创建一个多语言网站,默认为英文,例如example.com,其子域名为fr.example.com,de.example.com,it.example.com ......
现在,如果用户选择fr.example.com,则该网站的语言将为法语。
如果子域是fr,PHP将包含lang_fr.php,如果de,PHP将包含lang_de.php,但如果没有子域,PHP必须包含默认文件lang_en.php
网站必须只有一个源代码,内容和样式,它必须使用与example.com根目录相同的资源。
那么如何使用Apache重写从fr.example.com到example.com/index.php?lang=fr的URL 和example.com/到example.com/index.php?lang=en
答案 0 :(得分:1)
您无需重写任何内容。只需检查$ _SERVER ['SERVER_NAME']。
function get_language()
{
//not tested
$default_language = 'en';
$language = array_shift(explode('.', $_SERVER['SERVER_NAME'] ));
if ( str_len( $language ) > 2 )
{
$language = $default_language;
}
return $language;
}