> For the complete documentation index, see [llms.txt](https://docshome.gitbook.io/nginx-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docshome.gitbook.io/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md).

# ngx\_http\_browser\_module

* [示例配置](/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md#example_configuration)
* [指令](/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md#directives)
  * [ancient\_browser](/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md#ancient_browser)
  * [ancient\_browser\_value](/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md#ancient_browser_value)
  * [modern\_browser](/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md#modern_browser)
  * [modern\_browser\_value](/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md#modern_browser_value)

`ngx_http_browser_module` 模块创建值由 **User-Agent** 请求头域决定的变量：

* `$modern_browser`

  如果浏览器被识别为现代，则等于 [modern\_browser\_value](/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md#modern_browser_value) 指令设置的值
* `$ancient_browser`

  如果浏览器被识别为古代，则等于由 [ancient\_browser\_value](/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md#ancient_browser_value) 指令设置的值
* `$MSIE`

  如果浏览器被识别为任何版本的 MSIE，则等于 `1`

## 示例配置 <a href="#example_configuration" id="example_configuration"></a>

选择一个索引文件：

```
modern_browser_value "modern.";

modern_browser msie      5.5;
modern_browser gecko     1.0.0;
modern_browser opera     9.0;
modern_browser safari    413;
modern_browser konqueror 3.0;

index index.${modern_browser}html index.html;
```

旧浏览器重定向：

```
modern_browser msie      5.0;
modern_browser gecko     0.9.1;
modern_browser opera     8.0;
modern_browser safari    413;
modern_browser konqueror 3.0;

modern_browser unlisted;

ancient_browser Links Lynx netscape4;

if ($ancient_browser) {
    rewrite ^ /ancient.html;
}
```

## 指令 <a href="#directives" id="directives"></a>

### ancient\_browser

|       - | 说明                                 |
| ------: | ---------------------------------- |
|  **语法** | **ancient\_browser** `string ...`; |
|  **默认** | ——                                 |
| **上下文** | http、server、location               |

如果在 **User-Agent** 请求头域中找到任何特殊的子字符串，浏览器将被视为传统类型。特殊字符串 `netscape4` 对应于正则表达式`^Mozilla/[1-4]`。

### ancient\_browser\_value

|       - | 说明                                    |
| ------: | ------------------------------------- |
|  **语法** | **ancient\_browser\_value** `string`; |
|  **默认** | ancient\_browser\_value 1;            |
| **上下文** | http、server、location                  |

设置 `$ancient_browser` 变量的值。

### modern\_browser

|       - | 说明                                                                                                                                 |
| ------: | ---------------------------------------------------------------------------------------------------------------------------------- |
|  **语法** | <p><strong>modern\_browser</strong> <code>browser version</code>; <br> <strong>modern\_browser</strong> <code>unlisted</code>;</p> |
|  **默认** | ——                                                                                                                                 |
| **上下文** | http、server、location                                                                                                               |

指定将浏览器视为现代版本开始的版本。浏览器可以是以下任何一种：`msie`、`gecko`（基于 Mozilla 的浏览器）、`opera`、`safari` 或 `konqueror`。

版本可以是以下列格式：X、X.X、X.X.X 或 X.X.X.X。每种格式的最大值分别为 4000、4000.99、4000.99.99 和 4000.99.99.99。

未列出的特殊值如果未被 `modern_browser` 和 [ancient\_browser](/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md#ancient_browser) 指令指定，则将其视为现代浏览器。否则被认为是传统浏览器。如果请求没有在头中提供 **User-Agent** 域，则浏览器被视为未列出。

### modern\_browser\_value

|       - | 说明                                   |
| ------: | ------------------------------------ |
|  **语法** | **modern\_browser\_value** `string`; |
|  **默认** | modern\_browser\_value 1;            |
| **上下文** | http、server、location                 |

设置 `$modern_browser` 变量的值。

## 原文档

<http://nginx.org/en/docs/http/ngx_http_browser_module.html>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docshome.gitbook.io/nginx-docs/he-xin-gong-neng/http/ngx_http_browser_module.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
