我正在使用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。有人可以指出我做错了吗?
谢谢!