Tente usar $http_user_agent
:
if ($http_user_agent ~ "MSIE 6.0" ) {
rewrite ^ /ie6 break;
}
ou dê uma olhada no este tópico.
Estou seguindo o tutorial link .
Eu tenho a seguinte configuração.
ancient_browser "MSIE 6.0";
if ($ancient_browser){
rewrite ^ /ie6;
}
o problema com isso é que eu recebo um loop infinito.
Como eu faço funcionar? Estou surpreso que até mesmo um exemplo em um documento oficial. não funciona.
Atualizado:
Meu código atual
server {
listen 83;
server_name {my ip goes here}
location / {
ancient_browser "MSIE 6.0";
if ($ancient_browser){
rewrite ^ /ie6 break;
}
proxy_pass http://localhost:34881 ;
proxy_set_header Host $host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
proxy_set_header Country $geoip_country_code;
proxy_cache cache;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 404 1m;
add_header Pragma no-cache;
expires epoch;
if_modified_since off;
add_header Last-Modified "";
}
Atualização 2:
Eu criei o seguinte trecho de código e ele funciona.
if ($http_user_agent ~ "MSIE 6.0") {
set $IE T;
}
if ($uri != "/ie6/") {
set $IE "${IE}RUE";
}
if ($IE = TRUE) {
rewrite ^ /ie6 break;
}
se alguém tiver uma solução melhor, por favor, deixe um comentário..obrigado !!!
Tente usar $http_user_agent
:
if ($http_user_agent ~ "MSIE 6.0" ) {
rewrite ^ /ie6 break;
}
ou dê uma olhada no este tópico.
Adicione break
:
rewrite ^ /ie6 break;
A intenção com o exemplo era provavelmente que a configuração não fosse aplicada no local em que você estava reescrevendo.
Você precisa se certificar de redirecionar o usuário para uma parte da configuração que não é gerenciada pela mesma regra.
Algo como este trabalho, talvez?
location ^/ie6 {
break;
}
Tags nginx