htaccess [UserAgent]: Faça uma determinada ação dependendo do UserAgent do usuário

Muito tempo atrás eu coloquei dois artigos sobre .htaccess, e já que faz um tempo, vou atualizar um pouco a base:

O que é htaccess?

Em cada pasta que compartilhamos (hospedamos) podemos colocar um arquivo .htaccess (observe o ponto final no início do nome, isso indica que está oculto) Este arquivo será a nossa polícia para chamá-lo de alguma forma, pois nele poderemos escrever regras ou normas que nos ajudarão a manipular / administrar o acesso a essa mesma pasta onde está o arquivo, à pasta e arquivos (e subpastas) que este mesmo contém.

Basta colocar. Se eu tiver a pasta “/teste /", Fazendo uso de um .htaccess Posso configurar quais IPs desejo acessar e quais não, configurar se desejo que quando alguém entrar nesta pasta irá redirecioná-lo automaticamente para outro site, e um MUITO longo etc.

Eu realmente recomendo que você leia os dois artigos anteriores:

Vamos prosseguir para o que irei abordar especificamente neste post.

Utilitário No.1

O que queremos fazer é:

  1. Se um usuário usa Internet Explorer não abra o site, que o redireciona para local de Firefox para que um navegador real seja instalado.

Sabendo que o Useragent que identifica Explorador de Internet é: MSIE

Já temos tudo que precisamos 

A lógica operacional seria:

  1. Identifique se o usuário usa o Internet Explorer ou não.
  2. Se você usar o IE, ele não irá mostrar o site, em vez de fazer isso o que acontecerá é que ele abrirá o site da Mozilla.
  3. Se você não usar o Internet Explorer, nosso site será aberto sem problemas.

Para isso, devemos colocar em nosso arquivo .htaccess (se ele não existir, criá-lo) as seguintes linhas:


RewriteEngine ativado
RewriteCond% {HTTP_USER_AGENT} ^. * MSIE. * $ [NC] RewriteRule. * Http://www.mozilla.org/en-US/firefox/new/

E é isso, tão simples.

Com essas linhas o que indicamos é:

  1. Se o módulo mod_rewrite estiver ativo:
  2. Inicie o mecanismo de reescrita e:
  3. Se for atendida a condição de que algum lugar no UserAgent contém MSIE, então:
  4. Aplique a regra de: redirecionar o usuário para o site - »Http://www.mozilla.org/en-US/firefox/new/
  5. Acabou agora, pare de usar o módulo mod_rewrite

Obviamente, eles podem alterar o endereço para o qual o usuário será redirecionado, este é apenas um exemplo.

Agora vamos com outro utilitário... 

Utilitário No.2

Por exemplo, queremos colocar algum conteúdo da internet em uma pasta em nosso servidor web, mas queremos que apenas algumas pessoas acessem, podemos proteger a pasta com uma senha usando Apache, sim, mas se não quisermos complicar tanto ... nós podemos:

  1. Leia o UserAgent do usuário.
  2. Se o UserAgent tiver a palavra "topsecret" em algum lugar:
  1. Deixe ele acessar a pasta
  • Se o UserAgent NÃO tiver a palavra "topsecret" em nenhum lugar:
  1. Exibir um sinal de acesso negado.

Para conseguir isso, o código é extremamente semelhante ao anterior ... a principal variação é o ponto de exclamação «!»Na linha de verificação do UserAgent:


RewriteEngine ativado
RewriteCond% {HTTP_USER_AGENT}! ^. * Topsecret. * $ [NC] RewriteRule. * Http://www.google.com

Aqui não há muito o que explicar porque já expliquei o anterior, como já disse, este tem como principal diferença o ponto de exclamação, que significa:

  • Se NÃO contiver topsecret em algum lugar do UserAgent ...

Bem, isso é tudo por agora 

Espero que tenha sido útil, ainda há muito o que falar .htaccessAinda tenho muito que aprender 
lembranças