Apache: Как перенаправить файл в конкретный пользовательский агент и subdir для любого другого запроса? - PullRequest
0 голосов
/ 25 января 2019

Мне нужно перенаправить своих пользователей с помощью браузера 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), чтобы избежать бесконечных перенаправлений.

Глядя на журналы, с этой конфигурацией я вижу действительно много строк (скажем, сто) для каждого запроса, поэтому яПредположим, я совершил действительно ужасную ошибку ...: - (

...