问题出现的原因是 AWS ALB 对根路径请求的处理方式与 Apache 不同,需要特殊处理。解决方法是在 Apache 配置文件中添加一个 RewriteRule,将根路径请求转发到一个不同的路径上,再在 AWS ALB 中建立针对该路径的监听规则。
以下是示例代码:
在 Apache 配置文件中添加如下规则:
RewriteEngine on RewriteRule ^/$ /app/ [R]
这将把根路径请求重定向到 /app/ 路径。然后,在 AWS ALB 中创建一个针对 /app/ 路径的监听规则,将请求转发到正确的目标服务器上。这样就能够使代理规则正常工作了。