Nginx Httpモジュールシリーズにおけるautoindexモジュールの具体的な使用法

Nginx Httpモジュールシリーズにおけるautoindexモジュールの具体的な使用法

ブラウザ モジュールの主な機能は、http リクエスト ヘッダーの「User-Agent」の値とブラウザの特徴的な文字に基づいてブラウザが新しいか古いかを判断し、後続のリクエスト処理ロジックで使用するための対応する変数を生成することです。

1. はじめに

ngx_http_browser_module モジュールは、後続のリクエスト ロジック処理のために「User-Agent」リクエスト ヘッダーの値を判断して変数を生成します。

2. 組み込み変数のリスト

$モダンブラウザ
ブラウザが最新のブラウザとして識別された場合、これは modern_browser_value ディレクティブによって設定された値と等しくなります。

$古代ブラウザ
ブラウザが古いブラウザとして識別された場合、Ancient_browser_value ディレクティブによって設定された値と等しくなります。

$msie
ブラウザが MSIE として識別される場合、バージョンに関係なく 1 になります。

3. 設定例

最新ブラウザの識別ロジック構成:

modern_browser_value "モダン。";

# modern_brower は、どのブラウザとそのバージョンが最新のブラウザと見なされるかを指定します。設定形式については、後で modern_browser msie 5.5 で説明します。
モダンブラウザゲッコ 1.0.0;
モダンブラウザ オペラ 9.0;
モダンブラウザサファリ413;
モダンブラウザKonqueror 3.0;

 
ブラウザが最新のブラウザであると判断された場合、modern_browser 変数は、modern_browser_value によって構成される変数である「modern.」と等しくなります。
インデックス index.${modern_browser}html index.html;

古いブラウザの互換性判定:

モダンブラウザ msie 5.0;
modern_browser ゲッコ 0.9.1;
モダンブラウザ オペラ 8.0;
モダンブラウザサファリ413;
モダンブラウザKonqueror 3.0;

modern_browser はリストされていません。

# ancient_browser は、どの部分文字列が古いブラウザとして識別されるかを設定します。 ancient_browser Links Lynx netscape4;

# ブラウザが古いブラウザとして識別された場合、ancient_browser は 1 になります。ここで互換性処理を実行したり、ユーザーに最新のブラウザを更新または置き換えるよう直接促したりできます。

$ancient_browserの場合{
  ^ /ancient.html を書き直す;
}

4. 設定形式

構文: ancient_browser 文字列 ...;
デフォルト: -
コンテキスト: http、サーバー、場所

「User-Agent」ヘッダーをシード文字列で設定すると、古いブラウザとして判断されます。特別なサブ文字列「netscape4」は、正規表現 ^Mozilla/[1-4] に相当します。

構文: ancient_browser_value 文字列;
デフォルト:  
古代ブラウザの値 1;
コンテキスト: http、サーバー、場所

古いブラウザが識別されると、$ancient_browser 変数の値はデフォルトで 1 になります。

構文: modern_browser ブラウザのバージョン;
modern_browser はリストされていません。
デフォルト: -
コンテキスト: http、サーバー、場所

どのブラウザとどのバージョンを使用するかを設定すると、最新のブラウザになるように決定されます。ブラウザの値は、msie、gecko、opera、safari、konqueror です。バージョン定義の形式は、X、XX、XXX、または XXXX です。各形式の最大値は、4000、4000.99、4000.99.99、4000.99.99.99 です。

unlisted は特別な文字列です。ブラウザが modern_browser と ancient_browser の一致範囲に表示されない場合は、最新のブラウザとみなされます。それ以外の場合は、古いブラウザと見なされます。リクエスト ヘッダーに「User-Agent」ヘッダーが指定されていない場合は、一致するリストに表示されないものとみなされます。

構文: modern_browser_value 文字列;
デフォルト:  
モダンブラウザの値 1;
コンテキスト: http、サーバー、場所

最新のブラウザが識別されると、$modern_browser 変数の値はデフォルトで 1 になります。

4. まとめ

ngx_http_browser_module はブラウザ互換性の判断メカニズムを提供し、これにより、古いブラウザと新しいブラウザ間の互換性を扱う際に、よりエレガントかつ効率的になります。実際のニーズに合わせて使用​​し、ビジネス ロジックからブラウザ バージョンを抽出し、他のことを考慮せずにビジネスをよりビジネスらしくすることができます。

Nginx Http モジュール シリーズにおける autoindex モジュールの具体的な使用方法については、これで終わりです。Nginx autoindex モジュールに関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • nginx httpモジュールのデータ保存構造の概要
  • nginx HTTPモジュール設定の一般的な手順

<<:  Nofollowはコメントやメッセージ内のリンクを本当に機能させる

>>:  MySQL 8.0.23のルートパスワードをリセットするための最適なソリューション

推薦する

MySQLバイナリログを介してデータベースデータを復元する方法の詳細な説明

ウェブサイト管理者は、さまざまな理由や操作により、ウェブサイトのデータを誤って削除したり、ウェブサイ...

MySQL 文字セットの表示と変更のチュートリアル

1. 文字セットを確認する1. MYSQLデータベースサーバーとデータベースの文字セットを確認する方...

Vueにおけるキーの役割と原理の詳細な説明

目次1. 結論から始めましょう2. キーの役割2.1 例2.2 上記の例を修正する2.3 例を再度修...

WeChatアプレットが計算機機能を実装

WeChatミニプログラムはますます人気が高まっています。多くの大学生が独学で学んでいるのも見てきま...

CentOS/RHEL システムで VLAN タグ付きイーサネット カードを使用する方法

シナリオによっては、Linux サーバー (CentOS/RHEL) の同じイーサネット カード (...

Element-ui NavMenuサブメニューを使用して再帰的に生成する場合のエラーの詳細な説明

ナビゲーションバーのサブメニューを再帰的に生成すると、メニューは正常に生成できるが、マウスをホバーす...

MySQL 5.7.24 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、参考までにMySQL 5.7.24圧縮パッケージのインストールチュートリアルを紹介しま...

dockerでredis5.0.3をインストールする方法

1. 公式5.0.3イメージを取得する [root@localhost ~]# docker pul...

JS でページのスクリーンショット機能を実装する方法

「ページのスクリーンショット」は、ページポスターの生成、ポップアップ画像の共有など、フロントエンドで...

HTML テーブル マークアップ チュートリアル (1): テーブルの作成

<br />これは 123WORDPRESS.COM が提供する一連のチュートリアルです...

クロスドメインの問題を解決するためのNginxの実用的な方法

フロントエンドとバックエンドを分離し、nginxを使用してクロスドメインの問題を解決するフロントエン...

CSSは高さと幅を固定した要素の比例表示効果を実現します

padding-top パーセンテージを使用すると、固定幅と比例した高さの表示を実現できます。現在の...

CSS3 タイムラインアニメーション

成果を達成する html <h2>CSS3 タイムライン</h2> <...

Nginx でファイル ホットリンク保護サービスを構築する方法を学ぶ例

序文多くのサイトが、ポイントやゴールドコインなど、情報のダウンロードに料金を請求していることは誰もが...

Vue 天気予報入門

この記事では、参考までに天気予報を実装するためのVueの具体的なコードを紹介します。具体的な内容は次...