反向代理 Apache 重写规则不起作用

反向代理 Apache 重写规则不起作用

我有一个 apache 反向代理,我尝试制定规则将 example2 的几个 URL 重定向到 example1,但我的重写规则不起作用。

我已经在 example2 的 vhost 中尝试过这个:

ProxyPass / https://example1.com/index2.html
ProxyPassMatch ^[A-Za-z0-9]$ https://example1.com/news-$1

当我访问 ProxyPassMatch 时,第一条规则有效,但第二条规则无效https://example2.com/1test05返回 404 错误,但直接访问https://example1.com/news-1test05工作。

任何想法?

答案1

因为您的正则表达式不匹配。

^[A-Za-z0-9]$匹配由以下部分组成的 URI字母数字字符,并且您没有放置任何前导斜杠或捕获组。

你需要的ProxyPassMatch ^/([A-Za-z0-9]+)$ https://example1.com/news-$1是。

相关内容