我正在尝试创建特定于位置的重定向到子域。我的网站是au.example.co,我的总部设在澳大利亚。我们在全球其他地方拥有许可合作伙伴,我希望创建一个特定于区域的重定向。新加坡例如是sg.example.co和英国uk.example.co等。我希望这些国家的用户只需输入网址,example.co并根据它们的位置,重定向到该地区网址。每个子域都是在heroku上托管的自己的rails应用程序。
答案 0 :(得分:0)
有一个名为Ruby Geocoder的ruby库,在这样的场景中非常有用。
直接从他们的网站上提到以下内容:
在任何基于机架的框架中检测HTTP请求的位置
获取当前用户的城市和国家/地区(使用IP地址)。一个位置 方法被添加到标准的Rack :: Request中,返回一个 Geocoder ::结果对象:
在Rails控制器或Sinatra应用程序中
city = request.location.city
country = request.location.country_code
使用上述内容,假设您可以根据国家/地区变量重定向到相应的子域,这是合理的。
此主题还有一个RailsCast可能对您有所帮助。 我还发现这个修改后的RailsCast子域名我认为可能也有帮助,但我没有订阅......