根据国家/地区代码顶级域显示不同的内容

时间:2011-08-24 19:33:52

标签: php redirect

我有一个网站,可以通过以下两种方式之一访问:www.foo.com和www.foo.de.据推测,www.foo.de的访客来自德国,网站上有大约六页,很快就会有德语版本 - 例如主页(index.php),管理页面(management.php),职业页面(careers.php)等。

如果用户通过www.foo.de访问该网站,我们要做的是提供新的德语备用页面。这是一个静态网站,没什么动态的。

我想也许这样做(虽然笨重)是

  1. 弄清楚他们是“.de”还是“.com”访客
  2. 设置网址参数,例如?lang = de,如果他们是“.de”访客
  3. 在少数相关页面的标题中加入一些代码,如果参数是“lang = de”,则将用户重定向到另一个版本的页面,或者,我想,如果它存在的话。 / LI>

    我这太复杂了吗?说实话,我不在乎它是否是一个企业级解决方案,具有前瞻性,易于扩展。如果它很邋and且有些手动,那对我来说没问题。

    我尝试在htaccess文件中使用RewriteEngine / RewriteRule,但我可能会在这里过头。我似乎无法检测到顶级域名。

    帮助!谢谢!

3 个答案:

答案 0 :(得分:0)

<?php
$domain = $_SERVER["SERVER_NAME"];

if (strtolower(substr($domain, -3, 3)) == ".de")
    die(header("Location:http://example.com"));
?>

答案 1 :(得分:0)

你也可以使用javascript。

document.URL

解析国家/地区顶级域名的网址并重定向到?lang = de链接。

答案 2 :(得分:0)

您还可以将网址映射到不同的IP /服务器。