Apache:Redirecionando se existir um cookie
Como faço para redirecionar caso um cookie exista ou não?
A resposta é utilizar o mod_rewrite. Veja como:
Vá para o diretório /etc/httpd/conf
> cd /etc/httpd/conf
Edite o arquivo httpd.conf
Remova o comentário da linha
LoadModule rewrite_module modules/mod_rewrite.so
Vá para o final do arquivo e adicione como abaixo
Se você desejar redirecionar caso um cookie EXISTA:
RewriteEngine On RewriteCond %{HTTP_COOKIE} ^.*NomeDoCookie.*$ [NC] RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Caso você desejar redirecionar caso o cookie NÃO exista:
RewriteEngine On RewriteCond %{HTTP_COOKIE} !^.*NomeDoCookie.*$ [NC] RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Reinicie o http server
> /etc/httpd/bin/apachectl restart
Flags
- NC (nocase) -> Ignora maiúsculas e minusculas
- R (redirect) -> envia o redirecionamento
- L (last) -> Ignora as condições posteriores, semelhante ao break do C.
Direcionar para um arquivo
Se você desejar redirecionar para um arquivo caso um cookie EXISTA:
RewriteEngine On RewriteCond %{HTTP_COOKIE} ^.*NomeDoCookie.*$ [NC] RewriteRule ^.*+ /dummy.html