在 openshift 的重定向循环中以路径结尾的重定向
redirect with path ends in redirect loop on openshift
我在 openshift 上的 express 应用程序中重定向到末尾带有 parth 的另一个域时遇到了一个奇怪的问题。
我有一个域,它是我的默认域和其他辅助域,所以我想将对辅助域的所有请求重定向到我的主域。
我有一个用 coffeescript 编写的非常简化的处理程序,我在其中重定向到 /admin
路径
app.get '/admin', (req, res) ->
if not req.headers.host.match(/maindomain\.com/)
return res.redirect('http://www.maindomain.com/admin')
res.send('hello world!!!!')
这里发生的是我在重定向循环中结束,就像位置 header 永远不会改变并且它永远循环
有趣的是,如果我只是在没有路径的情况下重定向域,重定向工作正常。
所以从 secondarydomain.com
重定向 -> maindomain.com
工作正常 (?!)
我不明白为什么会这样。
当然,我认为这可能是由运行在我的应用程序前面的 openshift 和/或 haproxy 引起的,但我还无法弄清楚...
非常感谢任何帮助。
/mymaindomain\.com/.test('http://www.maindomain.com/admin')
>>> false
因此,当您重定向时,目标 url 触发条件并重定向...
也许你想要 /maindomain\.com/
?
好的,这是 openshift 方面的问题。看起来他们的内部路由 'smartness' 是如何配置的,它不允许重定向到同一应用程序的另一个别名,并且它以循环结束。
我在 openshift 上的 express 应用程序中重定向到末尾带有 parth 的另一个域时遇到了一个奇怪的问题。
我有一个域,它是我的默认域和其他辅助域,所以我想将对辅助域的所有请求重定向到我的主域。
我有一个用 coffeescript 编写的非常简化的处理程序,我在其中重定向到 /admin
路径
app.get '/admin', (req, res) ->
if not req.headers.host.match(/maindomain\.com/)
return res.redirect('http://www.maindomain.com/admin')
res.send('hello world!!!!')
这里发生的是我在重定向循环中结束,就像位置 header 永远不会改变并且它永远循环 有趣的是,如果我只是在没有路径的情况下重定向域,重定向工作正常。
所以从 secondarydomain.com
重定向 -> maindomain.com
工作正常 (?!)
我不明白为什么会这样。 当然,我认为这可能是由运行在我的应用程序前面的 openshift 和/或 haproxy 引起的,但我还无法弄清楚...
非常感谢任何帮助。
/mymaindomain\.com/.test('http://www.maindomain.com/admin')
>>> false
因此,当您重定向时,目标 url 触发条件并重定向...
也许你想要 /maindomain\.com/
?
好的,这是 openshift 方面的问题。看起来他们的内部路由 'smartness' 是如何配置的,它不允许重定向到同一应用程序的另一个别名,并且它以循环结束。