Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
nginx
GitHub Repository: nginx/nginx.org
Path: blob/main/xml/ru/docs/http/ngx_http_browser_module.xml
1 views
1
<?xml version="1.0"?>
2
3
<!--
4
Copyright (C) Igor Sysoev
5
Copyright (C) Nginx, Inc.
6
-->
7
8
<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9
10
<module name="Модуль ngx_http_browser_module"
11
link="/ru/docs/http/ngx_http_browser_module.html"
12
lang="ru"
13
rev="2">
14
15
<section id="summary">
16
17
<para>
18
Модуль <literal>ngx_http_browser_module</literal> создаёт переменные,
19
значения которых зависят от значения поля <header>User-Agent</header>
20
в заголовке запроса:
21
<list type="tag">
22
23
<tag-name id="var_modern_browser"><var>$modern_browser</var></tag-name>
24
<tag-desc>
25
равна значению, заданному директивой <link id="modern_browser_value"/>,
26
если браузер опознан как современный;
27
</tag-desc>
28
29
<tag-name id="var_ancient_browser"><var>$ancient_browser</var></tag-name>
30
<tag-desc>
31
равна значению, заданному директивой <link id="ancient_browser_value"/>,
32
если браузер опознан как устаревший;
33
</tag-desc>
34
35
<tag-name id="var_msie"><var>$msie</var></tag-name>
36
<tag-desc>
37
равна “1”, если браузер опознан как MSIE любой версии.
38
</tag-desc>
39
40
</list>
41
</para>
42
43
</section>
44
45
46
<section id="example" name="Пример конфигурации">
47
48
<para>
49
Выбор индексного файла:
50
<example>
51
modern_browser_value "modern.";
52
53
modern_browser msie 5.5;
54
modern_browser gecko 1.0.0;
55
modern_browser opera 9.0;
56
modern_browser safari 413;
57
modern_browser konqueror 3.0;
58
59
index index.${modern_browser}html index.html;
60
</example>
61
</para>
62
63
<para>
64
Перенаправление для старых браузеров:
65
<example>
66
modern_browser msie 5.0;
67
modern_browser gecko 0.9.1;
68
modern_browser opera 8.0;
69
modern_browser safari 413;
70
modern_browser konqueror 3.0;
71
72
modern_browser unlisted;
73
74
ancient_browser Links Lynx netscape4;
75
76
if ($ancient_browser) {
77
rewrite ^ /ancient.html;
78
}
79
</example>
80
</para>
81
82
</section>
83
84
85
<section id="directives" name="Директивы">
86
87
<directive name="ancient_browser">
88
<syntax><value>строка</value> ...</syntax>
89
<default/>
90
<context>http</context>
91
<context>server</context>
92
<context>location</context>
93
94
<para>
95
Задаёт подстроки, при нахождении которых в поле <header>User-Agent</header>
96
заголовка запроса браузер считается устаревшим.
97
Специальная строка “<literal>netscape4</literal>” соответствует
98
регулярному выражению “<literal>^Mozilla/[1-4]</literal>”.
99
</para>
100
101
</directive>
102
103
104
<directive name="ancient_browser_value">
105
<syntax><value>строка</value></syntax>
106
<default>1</default>
107
<context>http</context>
108
<context>server</context>
109
<context>location</context>
110
111
<para>
112
Задаёт значение для переменных <var>$ancient_browser</var>.
113
</para>
114
115
</directive>
116
117
118
<directive name="modern_browser">
119
<syntax><value>браузер</value> <value>версия</value></syntax>
120
<syntax><literal>unlisted</literal></syntax>
121
<default/>
122
<context>http</context>
123
<context>server</context>
124
<context>location</context>
125
126
<para>
127
Задаёт версию браузера, начиная с которой он считается современным.
128
В качестве браузера можно задать <literal>msie</literal>,
129
<literal>gecko</literal> (браузеры, созданные на основе Mozilla),
130
<literal>opera</literal>, <literal>safari</literal>
131
или <literal>konqueror</literal>.
132
</para>
133
134
<para>
135
Версии можно задать в форматах X, X.X, X.X.X или X.X.X.X.
136
Максимальные значения для каждого из форматов соответственно —
137
4000, 4000.99, 4000.99.99 и 4000.99.99.99.
138
</para>
139
140
<para>
141
Специальное значение <literal>unlisted</literal> указывает считать
142
современным браузер, не описанный директивами <literal>modern_browser</literal>
143
и <link id="ancient_browser"/>.
144
В противном случае неперечисленный браузер будет считаться устаревшим.
145
Если в заголовке запроса нет поля <header>User-Agent</header>, то браузер
146
считается неперечисленным.
147
</para>
148
149
</directive>
150
151
152
<directive name="modern_browser_value">
153
<syntax><value>строка</value></syntax>
154
<default>1</default>
155
<context>http</context>
156
<context>server</context>
157
<context>location</context>
158
159
<para>
160
Задаёт значение для переменных <var>$modern_browser</var>.
161
</para>
162
163
</directive>
164
165
</section>
166
167
</module>
168
169