在Apache中添加随机标题

我想为Apache的响应添加一个“X-Slogan”头文件,将其设置为从string列表中随机select的值。 到目前为止我所能想到的最好的解决scheme是基于TIME_SEC旋转string,例如

UnsetEnv HEAD_X_SLOGAN_1 UnsetEnv HEAD_X_SLOGAN_2 UnsetEnv HEAD_X_SLOGAN_3 UnsetEnv HEAD_X_SLOGAN_4 RewriteCond %{TIME_SEC} <15 RewriteRule . - [env=HEAD_X_SLOGAN_1:%{TIME_SEC},last] RewriteCond %{TIME_SEC} >14 RewriteCond %{TIME_SEC} <30 RewriteRule . - [env=HEAD_X_SLOGAN_2:%{TIME_SEC},last] RewriteCond %{TIME_SEC} >29 RewriteCond %{TIME_SEC} <45 RewriteRule . - [env=HEAD_X_SLOGAN_3:%{TIME_SEC},last] RewriteCond %{TIME_SEC} >44 RewriteRule . - [env=HEAD_X_SLOGAN_4:%{TIME_SEC},last] Header set X-Slogan "Palm trees" env=HEAD_X_SLOGAN_1 Header set X-Slogan "Oranges" env=HEAD_X_SLOGAN_2 Header set X-Slogan "Shoes" env=HEAD_X_SLOGAN_3 Header set X-Slogan "Velociraptors" env=HEAD_X_SLOGAN_4 

但是,这并不是真正的随机。 有一个更好的方法吗?

mod_rewrite有一个RAND的MapType,它可以做你想做的事情。

在随机明文下看到这个页面 。

感谢丹尼斯,我到达了以下解决scheme:

Apacheconfiguration:

 # Set a rotating slogan. # Contents need to match the RewriteConds below. RewriteMap slogans rnd:/web/www.wireshark.org/slogans.txt RewriteRule . - [env=SLOGAN_NUM:${slogans:num}] RewriteCond %{ENV:SLOGAN_NUM} =1 RewriteRule . - "[env=HEAD_X_SLOGAN:Slogan 1.,last]" RewriteCond %{ENV:SLOGAN_NUM} =2 RewriteRule . - "[env=HEAD_X_SLOGAN:Slogan 2.,last]" RewriteCond %{ENV:SLOGAN_NUM} =3 RewriteRule . - "[env=HEAD_X_SLOGAN:Slogan 3.,last]" RewriteCond %{ENV:SLOGAN_NUM} =4 RewriteRule . - "[env=HEAD_X_SLOGAN:Slogan 4.,last]" Header set X-Slogan "%{HEAD_X_SLOGAN}e" 

slogans.txt:

 # # Randomized slogan numbers # Need to match the slogans in the Apache config. # num 1|2|3|4