过时(至少对谷歌来说)
最近我研究了一下SEO,发现搜索引擎在某种程度上“不喜欢”URL中的参数。可理解,因为它们不是真正的人类可读或往往不是永久性的。
现在的问题是,如果我按照Rails Guides设置I18n然后想要链接到root_path
怎么办?它链接到根,但向URL添加?locale=en
。所以http://www.example.com/?locale=de
。
即使SEO不再受此影响,我认为如果网址看起来像http://www.example.com/en
而不是http://www.example.com/?locale=en
,它看起来会更好。
答案 0 :(得分:0)
我找到了一个非常简单的解决方案。
我刚刚添加了另一条名为routes.rb
的{{1}}路线。
示例:强>
i18n_root
现在我只需将Rails.application.routes.draw do
root 'welcome#index'
# ...
get ':locale' => 'welcome#index', as: :i18n_root
end
添加到链接到根路径的链接,一切正常。
返回的网址:
i18n_root_path
如果我在应用程序中已有很多链接,另一种可能的解决方案是创建自定义根目录。
示例:强>
http://www.example.com/en
希望这对其他人也有帮助。