como usar uma regra de reescrita para testar a data em um cookie?

2

Descobri que você não pode usar uma referência anterior de RewriteCond como uma condição padrão na próxima Condição de Regravação ...

UPDATE: Acontece que o mod_rewrite não expande nenhuma variável no padrão de teste, então estou efetivamente testando apenas a existência do cookie ... Alguma idéia de como testar o valor em vez de apenas existência?

RewriteCond %{HTTP_COOKIE} niftyExpire=([^;\ ]+)
RewriteRule .*index.html /fake.html [E=niftyExpire:%1,C]
RewriteCond %{TIME} <{ENV:niftyExpire}
RewriteRule .*fake.html /pass.html [R,L]
RewriteRule .*index.html /fail.html [R,L]

Obrigado,

-Eric

    
por Eric 08.07.2010 / 21:07

1 resposta

1

Eu gostaria de comentar se eu tivesse o representante ...

Eu não acho que você precise da barra invertida que tem em seus exemplos. Por exemplo,

RewriteCond %{HTTP_COOKIE} niftyExpire\=([^; ]+) [NC]

deve ser apenas

RewriteCond %{HTTP_COOKIE} niftyExpire=([^; ]+) [NC]

Existe um ótimo recurso aqui com alguns exemplos (não especificamente sobre datas, mas incluindo regras de reescrita baseadas no valor de um cookie):

link

    
por 08.07.2010 / 23:35