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

Gre*_*reg 5 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
Run Code Online (Sandbox Code Playgroud)

我有疑问:

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

Nat*_*e I 7

这里超级简单的工具:

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]
Run Code Online (Sandbox Code Playgroud)

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

为了回答您的问题,高度认为index.html提供了最好的用户体验.然而,这主要是因为人们已经开始期待这一点(website.com/en/,network.com/fr/等).搜索引擎优化,不,如果你不遵循相同的结构,你不会被贬低.

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

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