我在负载均衡器后面有一个 Apache Web 服务器,它将请求代理到 Apache,并且在配置目录方面存在问题。
以下是我的场景:
- 上层负载均衡器将请求代理到 Apache,并在其中添加原始主机名
X-Forwarded-Host
。 - 我应该根据
X-Forwarded-Host
标题值来决定提供哪个目录。 - 传入请求具有
X-Forwarded-Host
如下标头:
test1.example.com
test2.example.com
test3.example.com
- 这是我期望的行为:
每个请求必须来自:
%{DocumentRoot}/test1/
%{DocumentRoot}/test2/
%{DocumentRoot}/test3/
- 我写了类似的东西,但需要纠正:
RewriteCond "%{HTTP:X-Forwarded-Host}" "^[^.]*"
RewriteRule "^(.*)" "%{DOCUMENT_ROOT}/%1/$1" [L]
关于如何编写重写规则有什么帮助吗?
答案1
您需要将您的RewriteCond
模式放在括号中,如下所示:
RewriteCond "%{HTTP:X-Forwarded-Host}" "^([^.]*)"
RewriteRule "^(.*)" "%{DOCUMENT_ROOT}/%1/$1" [L]