Мне нужно перенаправить своих пользователей с помощью браузера MSIE (исключая браузеры Edge) на определенный файл (скажем, msie.html
);для всех остальных я хочу перенаправить любой запрос в подкаталог.
У меня Apache 2.4 + и mod_rewrite , установленный на современной Linux-системе.
В моем файле конфигурации VirtualHost прямо сейчас есть следующее:
<Directory />
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "MSIE 10" [NC]
RewriteCond %{REQUEST_URI} !/msie.html
RewriteRule ^(.*)$ https://www.my.site/msie.html [L,R=302]
RewriteRule ^(.*)$ https://www.my.site/home/
LogLevel alert rewrite:trace6
Options FollowSymLinks
AllowOverride All
</Directory>
Я добавил лог alert rewrite:trace6
для отслеживания проблем.
После установки, которую я опубликовал, я вижу, чтодля браузеров IE HTTP_USER_AGENT
действительно совпадает, но браузер по-прежнему перенаправлен в папку /home
, а не на страницу msie.html
, которую я ожидаю.
Любой другой пользовательский агент правильно перенаправлен в папку /home
.
Я использую второе условие (...!/msie.html
), чтобы избежать бесконечных перенаправлений.
Глядя на журналы, с этой конфигурацией я вижу действительно много строк (скажем, сто) для каждого запроса, поэтому яПредположим, я совершил действительно ужасную ошибку ...: - (