Claro. Eu faço a mesma coisa.
Quando um usuário faz login, eu dou a ele um cookie, crio um token em /t/ tokenid S= tokenid ;PATH=/
Em seguida, posso usar RewriteCond para verificar a existência do arquivo:
RewriteEngine on
# check for no cookie being set
RewriteCond %{HTTP:Cookie} !S=([a-zA-Z0-9]+)
RewriteRule ^/*protected/ /login.html [L,R]
# check for an invalid cookie being set
RewriteCond %{HTTP:Cookie} S=([a-zA-Z0-9]+)
RewriteCond /t/%1 !-f
RewriteRule ^/*protected/ /login.html [L,R]
Por fim, um coletor de lixo é executado periodicamente e exclui tokens antigos:
find /t -type f \! -atime +1 -delete
Para que o atime seja atualizado automaticamente, tenho /t montado sem noatime , e tenho acesso à Web (mas não indexado) e parte das referências de folha de estilo /loggedin.txt que é reescrito como:
RewriteCond %{HTTP:Cookie} S=([a-zA-Z0-9]+)
RewriteRule ^/*loggedin\.txt$ /t/%1 [L]