我有一个 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
是。