redirect - 如何使用haproxy中的map功能构建海量重定向表 1.5

标签 redirect http-status-code-301 haproxy

我认为这个主题涵盖了它。我需要在同一域内构建一个包含许多 301 重定向的列表,即将/some_old_place 重定向到/some_new_place。我们有很多内容会根据 uri 被淘汰或替换。来自 haproxy states maps 当前主页的引用可用于“构建大量重定向表”,但对于我的生活我可以弄清楚。我使用的是 1.5 版,这是我目前正在处理的配置行。

    redirect location %[map(/opt/local/etc/haproxy/redirect.map), hdr(url)] code 301

鉴于上面的配置行,我得到了

[ALERT] 099/205518 (27981) : parsing [/opt/local/etc/haproxy/haproxy.cfg:83] : error detected in frontend 'LoadBalancer' while parsing redirect rule : expects 'code', 'prefix', 'location', 'scheme', 'set-cookie', 'clear-cookie', 'drop-query' or 'append-slash' (was 'hdr(url)]').

我已经尝试了很多变体,但没有发现任何成功。如果有人知道如何做到这一点,请告诉我?

最佳答案

这是我想出的解决方案。感谢 JStarcher 提供有关空格的提示。

http-request redirect location %[capture.req.uri,map(/etc/haproxy/redirect.map)] code 301 if { capture.req.uri,map(/etc/haproxy/redirect.map) -m found } 

在引用的文件 redirect.map 中,我在左侧有一个源 uri,在右侧有一个由空格分隔的目标。

/some_old_page.html/some_new_page.html

此时文件中有超过 2k 行,我没有看到明显的减速。

关于redirect - 如何使用haproxy中的map功能构建海量重定向表 1.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23001799/

相关文章:

python - django如果对象存在重定向到绝对url

ruby-on-rails - 使用 Devise 在 Rails 中更改主机名以进行重定向

.htaccess - 带有子目录的 htaccess 多语言站点,默认为 301

http-status-code-301 - 表单提交后使用 301,302 重定向是不是不好

nginx - 如何在 CoreOS 中负载均衡服务?

mysql -/usr/bin/docker-当前 : Error parsing reference . 。引用格式无效

redirect - x86 进程中的 Powershell - 访问 64 位程序文件

.htaccess - 如何使用 htaccess 重定向一堆文件

linux - HAProxy 和 Keepalived 用于 rsyslog 负载平衡

apache - 适合多个和长查询的友好 URL