【发布时间】:2016-08-27 10:00:49
【问题描述】:
我的网站将使用 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
我有问题:
- 根据用户的 Web 浏览器语言重定向用户的最佳做法是什么?通过 htaccess?
- 我是否需要根级别的 index.html 页面(出于 SEO 原因或任何其他原因)?也许是法语 index.html?
【问题讨论】:
-
看看askapache.com/htaccess/modrewrite-tips-tricks.html - 你会看到
RewriteCond %{HTTP:Accept-Language} ^.*(de|es|fr|it|ja|ru|en).*$ [NC] RewriteRule ^(.*)$ - [env=prefer-language:%1],这也很有用webmasters.stackexchange.com/questions/57524/… - 你也可以使用JS,但这不是最有效的方法,如果 JS 在客户端被禁用。 -
旁注:您知道您可以使用
.shtml文件扩展名来执行包含(默认情况下服务器设置的工作方式就是这样),我已经使用这种方法多年了。但是,您可以指示您的服务器将.html文件视为.shtml,以便在使用相同的页眉/导航/页脚时使您的站点更易于管理,而不必一个接一个地更新一大堆文件一。 -
谢谢 - 我不知道,很高兴知道!
-
欢迎格雷格。另外,带有
.shtml的 SSI 允许您(至少我这样做)包含几乎任何文件类型,包括.php,但是如果您想运行某些 PHP 指令,则会在一定程度上受到限制。 -
您要求的是客观的“最佳实践”,其中没有这样的野兽。搜索如何根据浏览器区域设置重定向并检查您发现的各种技术。每种技术都有其优点和缺点,您可以自行决定哪种技术最好。如果你有导师,也可以问问他们。