基于浏览器语言重定向用户(不在PHP中)

时间:2016-05-02 15:13:13

标签: html .htaccess redirect

我的网站将使用3种语言。法语(fr)是默认语言。 该网站的结构如下:

根目录(注意:我不是使用php文件,只是简单的html)

/fr/
    Index.html
    About-us.html
    Contact.html

/en/
    Index.html
    About-us.html
    Contact.html

/de/
    Index.html
    About-us.html
    Contact.html

我有问题:

  • 根据用户的网络浏览器语言重定向用户的最佳做法是什么?通过htaccess?
  • 我是否需要根级别的index.html页面(出于SEO原因或任何其他原因)?法国index.html也许?

1 个答案:

答案 0 :(得分:6)

这里非常简单的工具:

http://www.htaccesstools.com/redirection-by-language/

根据浏览器的语言为htaccess重定向提供极其简单的生活。

示例:

RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (fr) [NC]
RewriteRule .* /fr/index.html [L]
RewriteCond %{HTTP:Accept-Language} (en) [NC]
RewriteRule .* /en/index.html [L]
RewriteCond %{HTTP:Accept-Language} (de) [NC]
RewriteRule .* /de/index.html [L]

这是一个硬重定向,浏览器的位置栏确实会显示新页面。但是,对于UX而言,这比屏蔽URL的内部重定向更好。

要回答您的问题,我们非常重视index.html提供最佳用户体验。然而,这主要是因为人们已经开始期待这一点(website.com/en/,network.com/fr/等)。搜索引擎优化,不,如果你没有遵循同样的结构,你就不会被贬低。

最佳做法是使用您的最佳猜测(如htaccess),并仍然提供切换语言的菜单。另外,如果接受语言没有实际定义(例如默认情况下转至/ en /),您还需要回退。这可能是htaccess中的最后一行,或者它可能只是index.html在根级别,.htaccess就是。{/ p>

除此之外,本地化并没有太大的数量。