在提供多种语言但具有一种主要语言(在我的情况下为英语)的网站上处理URL的好方法。
主页的英文地址应该是什么? http://example.com/
? http://example.com/en/
? http://example.com/english/
?其他
另一种语言的主页地址应该是什么,比方说德语? http://example.com/german/
? http://example.com/de/
? http://example.com/deutsch/
?
语言特定子域的使用是否合适?你会做什么以及为什么?
答案 0 :(得分:3)
这取决于您网站的结构:
如果每种语言都被视为完全不同的网站,请使用该语言的子域。
这是因为许多技术将不同的子域视为不同的站点。维基百科这样做(http://de.wikipedia.org/)完全分离不同语言的内容。
除非您的网站非常大,否则我不建议您选择此选项。
如果每种语言都有自己的结构,但仍然被认为是同一网站的版本,请使用语言的顶级“目录”。
为了保持一致性,我会说你也应该有一个默认语言(并省略它会导致重定向到适当的结构。)我建议你使用/en/
,{{ 1}}等等,因为它简洁明了,也是指示语言的标准方式。
这可能是你最好的选择。
如果网站的结构无论使用何种语言都是相同的,并且只有页面上的内容会根据语言而变化,您还可以考虑将语言修饰符作为参数:/de/
Google会这样做,例如:http://www.google.com/search?hl=de&q=foo(他们也会通过TLD分隔语言。)
答案 1 :(得分:1)
远离关于如何设计国际网址的问题(因为已经充分涵盖了这一点)......
我个人要做的一件事是让网站的“主要”域(即http://example.com
)根据浏览器传递的Accept-Language
HTTP header适当地重定向用户。例如,google.com就是这样做的。
但是,如果您这样做,请确保可以切换到另一种语言轻松 - 并通过其他机制保存设置以允许持久覆盖(Cookie!)。
答案 2 :(得分:0)
主页的地址应该是什么
语言特定子域的使用是否合适?
你喜欢它,并不重要。设计它对用户来说是直观的。
在URL中加密的语言名称对于SEO无关紧要,因为没有人会搜索“en”,“de”。然而,您提供的产品名称非常重要,因为人们会搜索“礼物”或“geschenke”等产品。
答案 3 :(得分:0)
我更喜欢ISO 639 aplha 2语言代码作为路径的第一部分。它不仅更加简单,而且如果有人选择了特定语言的网站,开发人员也会更容易发现。您只需检查请求URI的第一个路径是否与[a-z] {2}匹配。
答案 4 :(得分:0)
我认为更好的时尚解决方案是使用http://yourdomain.com
格式的地址作为主页网址,并使用ISO 639-1 language codes