mod_rewrite tem um MapType de rnd que pode ser capaz de fazer o que você quiser.
Veja esta página sob texto simples aleatório.
Eu gostaria de adicionar um cabeçalho "X-Slogan" às respostas do Apache definidas para um valor escolhido aleatoriamente em uma lista de strings. A melhor solução que consegui criar até agora é rodar pelas sequências baseadas em TIME_SEC, por exemplo
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
No entanto, isso não é realmente aleatório. Existe uma maneira melhor de fazer isso?
mod_rewrite tem um MapType de rnd que pode ser capaz de fazer o que você quiser.
Veja esta página sob texto simples aleatório.
Graças a Dennis, cheguei à seguinte solução:
Configuração do Apache:
# 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
Tags apache-2.2