有没有一种方法可以为每个区域/ tld使用不同的URL(特别是针对SEO的原因)?如何让基于locale/tld的网址/路线?
所以说,如果我来通mysite.us我可以有:
http://mysite.com/some-nice-url
,如果来了直通mysite.org,我可以有:
http://mysite.fr/another-very-nice-url
谢谢
有没有一种方法可以为每个区域/ tld使用不同的URL(特别是针对SEO的原因)?如何让基于locale/tld的网址/路线?
所以说,如果我来通mysite.us我可以有:
http://mysite.com/some-nice-url
,如果来了直通mysite.org,我可以有:
http://mysite.fr/another-very-nice-url
谢谢
你可以做什么是:
class ApplicationController < ActionController::Base
..
before_filter :domain_locale
protected
def domain_locale
I18n.locale = request.host.split('.').last
end
...
end
当然,您可以在domain_locale
内添加一些更复杂的功能。
因此,对于你的routes.rb,你可以添加约束这样的:
match 'soem_nice-url', :to => 'nice#some', :constraints => {:host => 'mysite.com'}
match 'soem_nice-url', :to => 'nice#another', :constraints => {:host => 'mysite.fr'}
重复的:http://stackoverflow.com/questions/2282346/i18n-locale-in-the-url – 2012-07-15 13:28:54
没有不是,请阅读这个问题。我不想要一个/:locale/scope。 – Cezar 2012-07-15 13:40:19