我正在努力解决一些HAproxy规则,但遗憾的是没有运气。
我们说我有domain1.com和domain2.com。我想将所有内容从domain1.com重定向到domain2.com,包括子域名和参数。
例如:
我已尝试使用reqrep ^([^\ ]*\) (.*)domain1.com(.*) 1/ domain2.com\2
,但它没有做到这一点。
有什么想法吗?
答案 0 :(得分:0)
这是实现这一目标的一种方法。
acl domain_redirect hdr_end(host) -i domain1.com
http-request set-var(req.new_host) req.hdr(host),regsub(domain1\.com$,domain2.com,i) if domain_redirect
http-request redirect prefix https://%[var(req.new_host)] code 301 if { var(req.new_host) -m found }
我认为此解决方案中只有一个缺点:它似乎丢弃了URL中的锚点。例如:
domain1.com?foo=bar#ze-anchor -> domain2.com?foo=bar
答案 1 :(得分:-1)
将它放在frontend
块中:
redirect prefix http://domain2.com code 301 if { hdr(host) -i domain1.com }
。