Apache:Redirecionando se existir um cookie: Difference between revisions
m (→Flags) |
No edit summary |
||
Line 28: | Line 28: | ||
RewriteCond %{HTTP_COOKIE} !^.*NomeDoCookie.*$ [NC] | RewriteCond %{HTTP_COOKIE} !^.*NomeDoCookie.*$ [NC] | ||
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] | RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] | ||
Line 35: | Line 33: | ||
> /etc/httpd/bin/apachectl restart | > /etc/httpd/bin/apachectl restart | ||
== Flags == | == Flags == | ||
Line 45: | Line 42: | ||
[http://httpd.apache.org/docs/current/rewrite/flags.html Mais flags] | [http://httpd.apache.org/docs/current/rewrite/flags.html Mais flags] | ||
== 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 |
Revision as of 18:47, 29 September 2012
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