Задача: на любой запрос от браузера IE 6 и ниже выдать статическую страницу ie6.html<br>Остальным версиям IE выдать то, что просят<br><br>Реализация: проверять строку заголовка HTTP_USER_AGENT<br>location / {<br>            if ($http_user_agent ~ &quot;MSIE [4-6]&quot;) {<br>

                rewrite ^/(.*)$ /ie6.html break;<br>            }<br>        }<br clear="all"><br>Но столкнулся с такой интересной сложностью: у одного из посетителей стоит IE8, но его постоянно переадресует на ie6.html<br>

<br>Cтрока HTTP_USER_AGENT (по логам) от этого пользователя имеет такой вид:<br>Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; MRSPUTNIK 2, 0, 1, 90 HW; MRA 5.6 (build 03278); Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)  ; .NET CLR 1.1.4322; MRIE8PACK 2.0.1)<br>

<br>То есть в ней присутствует подстрока &quot;MSIE 6&quot; и одновременно с тем есть подстрока &quot;MSIE 8&quot;<br><br>Я предположил, что регулярное выражение с отрицательным предпросмотром решит проблему.<br>if ($http_user_agent ~ &quot;(?&lt;!MSIE 8)MSIE [4-6]&quot;) {<br>


     rewrite ^/(.*)$ /ie6.html break;<br>
}<br>Но оно не срабатывает.<br><br>Вот такое выражение в данном случае должно выполнить реврайт на ie8.html<br>if ($http_user_agent ~ &quot;(?&lt;=MSIE\s8)MSIE [4-6]&quot;) {<br>     rewrite ^/(.*)$ /ie8.html break;<br>}<br>

Оно тоже не срабатывает.<br><br>Как исключить реврайт на ie6.html  в такой ситуации?<br><br>-- <br>Павел Волынцев<br><br>    E-mail: &lt;<a href="mailto:pavel.volyntsev@gmail.com">pavel.volyntsev@gmail.com</a>&gt;<br>    ICQ #:  55951947<br>

    Mobile Phone #: +7 913 902 4872<br>    Skype: pavel.volyntsev<br>    WWW: <a href="http://copist.ru/">http://copist.ru/</a> &amp; <a href="http://scripted.in/">http://scripted.in/</a><br><br>