我正在使用 apache 将用户的应用程序从旧服务器重定向到新服务器。这是基于用户的 x-user-id 标头完成的。我创建了一个 RewriteMap ,其中包含 x-user-id 新 url 以使用映射。
40951879-077e-41a6-bbab-adbded39550d https://serverV2.domain.com/
我有以下重写配置。
RewriteMap xuserid txt:/etc/apache2/map.txt
RewriteCond %{HTTP:x-user-id} ^(.*)
RewriteCond ${xuserid:%1} ^$
RewriteRule ^/(.*)$ ${xuserid:$1|https://serverV1.domain.com/$1} [QSA,NE,NC,P]
我也试过这个配置的最后一行...
RewriteRule ^/(.*)$ ${xuserid:%1|https://serverV1.domain.com/$1} [QSA,NE,NC,P]
当 x-user-id 不在地图中时,发送到 serverV1.domain.com。当用户在地图中时,我什么也得不到。在这种情况下,它应该是 serverV2.domain.com。
我想不通的是如何检索与 LookupKey 对应的 DefaultValue。有人可以指出我做错了什么吗?
谢谢!