Переопределить или сбросить набор переменных с помощью SetEnvIfNoCase
Я использую следующий код в моем httpd.conf, чтобы заблокировать некоторые нежелательные старые браузеры
SetEnvIfNoCase User-Agent (msie\s7) blocked=old
Order Allow,Deny
Allow from all
Deny from env=blocked
Однако следующий пользовательский агент не должен блокироваться (Microsoft Office использует этот пользовательский агент):
mozilla/4.0 (compatible; msie 7.0; windows nt 6.1; win64; x64; trident/7.0; .net clr 2.0.50727; slcc2; .net clr 3.5.30729; .net clr 3.0.30729; media center pc 6.0; .net4.0c; .net4.0e; ms-office; msoffice 16)
Вопрос: Как мне переопределить или сбросить набор переменных с помощью SetEnvIfNoCase?
Будет ли это работать?
SetEnvIfNoCase User-Agent (msoffice) blocked=0
1 ответ
Решение
Восклицательный знак удалит переменную, если она уже определена:
SetEnvIfNoCase User-Agent (msoffice) !blocked
Источник: https://httpd.apache.org/docs/2.4/mod/mod_setenvif.html