语言检测和URL重写/重定向

时间:2015-01-07 02:21:30

标签: javascript php .htaccess redirect url-redirection

我的网站有两种语言:EN(英语)和TR(土耳其语) 现在,它将加载为土耳其语作为默认语言。网址中没有任何语言短语。例如,我们的网页如:domain.com/index.php,domain.com/aboutus.php等。

如果有人点击"英语"链接,然后使用以下短语重新加载页面:?language = EN。例如domain.com/aboutus.php?language=EN

点击后,所有网页都会以英语加载,但我们也不会在网址中看到任何语言短语。其他页面加载像services.php,contact.php通常但英文..

我需要一个简单的浏览器语言重定向器: - 如果用户的浏览器语言是土耳其语,那么一切正常,页面可以加载为默认的土耳其语。 - 如果用户的浏览器语言不是土耳其语,则页面应通过?language = EN短语加载为英语。例如domain.com/aboutus.php?language=EN

重要的是,这种控制应该在首次访问任何页面时发生(不仅仅是索引)。如果用户选择土耳其语,那么我们就不应该再次加载英语页面。

我们可以使用这个php,htaccess或javascript。

非常感谢...

1 个答案:

答案 0 :(得分:1)

如果语法是对称的(即你对土耳其语和英语有相同的东西)会很好。如果这看起来很丑陋(对我而言),请将其移至会话中。我建议这个很干净:

  1. 如果请求是语言更改请求,请更改语言,保存到会话。否则,
  2. 如果会话包含语言选择,请使用该语言。否则,
  3. 使用Accept-Language标题来确定浏览器的内容,设置语言,保存到会话。
  4. 当然,您可以使用带有URL参数的相同系统。问题是,根据您当前的方案,您无法区分“未选择语言”和“选择英语”。