A partir da versão 2.3 do Apache, você pode fazer uso das constantes do IF. É descrito na documentação do Apache .
Eu tenho um conjunto de regras RewriteCond que testam vários dispositivos móveis e definem variáveis de ambiente como "env = device: .iphone" ou "env = device: .smartphone" se o useragent corresponder a um iPhone ou dispositivo Android .
Estou tentando redirecionar o usuário para páginas de erro do servidor 404/500 com estilo personalizado para cada dispositivo, por meio das páginas de erro.
Idealmente, eu gostaria de poder testar se uma variável está lá e, em seguida, escrever em uma string personalizada ErrorDocument. Mas um apache não parece funcionar neste caso.
Alguma idéia de como eu posso construir if / else testes em um arquivo conf do apache para o ambiente vars?
A partir da versão 2.3 do Apache, você pode fazer uso das constantes do IF. É descrito na documentação do Apache .
ErrorDocument
não permite nada condicional, mas faz um redirecionamento interno.
Você deve conseguir fazer isso com o mod_rewrite:
ErrorDocument 404 /normal_404.html
RewriteEngine on
RewriteCond %{ENV:device:.iphone} 1
RewriteRule ^/normal_404.html$ /iphone_404.html [L]