Apache:Redirecionando se existir um cookie: Difference between revisions
(New page: 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 E...) |
No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
A resposta é utilizar o '''mod_rewrite'''. Veja como: | A resposta é utilizar o '''mod_rewrite'''. Veja como: | ||
= Procedimento = | |||
Vá para o diretório '''/etc/httpd/conf''' | Vá para o diretório '''/etc/httpd/conf''' | ||
Line 17: | Line 17: | ||
Vá para o final do arquivo e adicione como abaixo | Vá para o final do arquivo e adicione como abaixo | ||
Se você desejar redirecionar caso um cookie EXISTA: | '''Se você desejar redirecionar caso um cookie EXISTA:''' | ||
RewriteEngine On | RewriteEngine On | ||
Line 23: | Line 23: | ||
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] | RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] | ||
Caso você desejar redirecionar caso o cookie NÃO exista: | '''Caso você desejar redirecionar caso o cookie NÃO exista:''' | ||
RewriteEngine On | RewriteEngine On | ||
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 == | |||
* NC (nocase) -> Ignora maiúsculas e minusculas | |||
* R (redirect) -> envia o redirecionamento | |||
* L (last) -> Ignora as condições posteriores, semelhante ao ''break'' do ''C''. | |||
[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 | |||
= Ver também = | |||
*[[Definindo a URL padrão no IBM HTTP Server Apache]] | |||
*[[Apache:Redirecionando para pagina de Erro]] | |||
*[[Apache:Redirecionando de HTTP para HTTPS]] | |||
*[[Linux e Unix: Ferramentas de Monitoracao e Performance]] | |||
*[[AWSTATS: Configurando o AWSTATS]] | |||
*[[IBM HTTP Server| Mais Artigos sobre Apache HTTP Server]] | |||
[[Category:IBM HTTP Server]] | |||
[[Category:Apache HTTP Server]] |
Latest revision as of 20:18, 11 December 2013
Como faço para redirecionar caso um cookie exista ou não?
A resposta é utilizar o mod_rewrite. Veja como:
Procedimento
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
Ver também
- Definindo a URL padrão no IBM HTTP Server Apache
- Apache:Redirecionando para pagina de Erro
- Apache:Redirecionando de HTTP para HTTPS
- Linux e Unix: Ferramentas de Monitoracao e Performance
- AWSTATS: Configurando o AWSTATS