很抱歉,如果问题标题有点偏离,就无法想到更具描述性的内容。
所以我有2个域:aaa.com
和bbb.com
。
我希望我的第二个域bbb.com
始终重定向到aaa.com
,除非它有一定的路径:bbb.com/ct/:id
这两个域现在都使用相同的Heroku App。
因此,在我的Application Controller
中,或者路由I,必须扫描请求URL,如果它包含/ct/:id
,则让它继续执行控制器操作,如果不重定向到aaa.com。 / p>
或者我可以以某种方式将DNS设置为仅在ct/:id
不在网址中时重定向?
基本上我希望实现用户无法从bbb.com
导航应用,除非特定网址bbb.com/ct/:id
存在。
我使用GoDaddy作为Registar并为我的Heroku应用程序设置了2个Cnames。
如何实现此行为?
答案 0 :(得分:2)
我更喜欢在实际控制器中进行重定向,而不是在路径文件中,因此您可以为其编写控制器规范。
PYTHONPATH
答案 1 :(得分:0)
您可以创建机架中间件来执行重定向。其中一个例子是https://github.com/gbuesing/rack-host-redirect/blob/master/lib/rack/host_redirect.rb
OR
在routes.rb中使用约束。 注意:我还没有测试过。
get "*path" => redirect("http://aaa.com"), constraint: lambda { |request| !request.url.match(/ct\/\d/) }