我试图为包含特殊cookie值的请求提供不同的内容(其他DocumentRooot)。
当使用nginx时,非常简单:
set $newroot "oi-dev";
if ($cookie_interface = "ni") {
set $newroot "ni-dev";
}稍后:root /path/to/document/$newroot;
不幸的是,试图在Apache中重新创建这种效果(使用2.4)并不符合预期。
Header set droot-matched true
Define Droot /path/to/document/ni-dev
Define Droot /path/to/document/oi-dev
DocumentRoot ${Droot}这很奇怪,因为当设置了适当的cookie时,就会发送控制头( control,droot-matched),但是Apache仍然使用来自部分的${Droot}值作为DocumentRoot。
我在VirtualDocumentRoot上也试过运气,但结果完全一样。
我是遗漏了一些显而易见的东西,还是有其他方法可以在Apache中实现所描述的效果?
发布于 2022-01-17 16:28:00
我正试图取得同样的结果而没有运气。遗憾的是,响应不在这里,所以我也有同样的问题,还有一个可能的解释,为什么执行其他代码.
我是否正确地认为,如果和其他都是被评估的?(这将解释Droot匹配的设置,Droot与第二个值匹配)。
如果其他语句被移除,则If one“按预期”工作吗?
https://serverfault.com/questions/937102
复制相似问题