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のルートパスワードをリセットするための最適なソリューション

推薦する

Windows7 での Mysql5.7 my.ini ファイルの読み込みパスとデータの場所の変更方法

更新: MySQL の公式 Web サイトにアクセスして MySQL インストーラーをインストールし...

MySQL で遅い SQL 文を見つける方法

MySQL で遅い SQL ステートメントを見つけるにはどうすればよいでしょうか?これは、多くの人を...

JavaScript配列の一般的なメソッドの概要

目次1. はじめに2. フィルター() 3. マップ() 4. ソート() 5. 減らす() 6. ...

Linuxでのソフトウェア(ライブラリ)の更新コマンドの詳しい説明

Ubuntu サーバーにパッケージをインストールする場合、sudo apt-get install ...

フレックスレイアウトの互換性の問題の概要

1. W3C バージョンの flex 2009年版フラグ: display: box; または bo...

Linuxのtopコマンド出力の詳細な説明

序文皆さんは Linux で top コマンドを使ったことがあると思います。私は Linux に触れ...

Tomcat と WebLogic で純粋な HTML ファイルを展開するプロセスの分析

1. まず、純粋なHTMLファイルにはindex.htmlというエントリが必要です。 2. Tomc...

JSはカリキュラムタイムテーブルアプレット(スーパーカリキュラムタイムテーブルを模倣)を実装し、カスタムバックグラウンド機能を追加します

概要:市販されているいくつかのタイムテーブルソフトウェアから教訓を得ました。機能が複雑すぎるため、タ...

nginx.conf のルートディレクトリ設定の詳細な説明

nginx.conf を構成するときには常に何らかの問題が発生します。ここでは、よくある問題とその解...

Linux teeコマンドの使い方の詳しい説明

teeコマンドは主にstandout(標準出力ストリーム、通常はコマンド実行ウィンドウ)に出力し、同...

22 Vue 最適化のヒント (プロジェクトの実践)

目次コードの最適化v-for でキーを使用するv-if/v-else-if/v-else でキーを使...

Vue ページ監視ユーザープレビュー時間機能実装コード

最近のビジネスでは、オンライン トレーニング システムが特定のオンライン プレビュー ページに対する...

大きなオフセットによる MySQL 制限ページングが遅い理由と最適化ソリューション

MySQL では通常、limit を使用してページ上のページング機能を完了しますが、データ量が大きな...

複数の条件を持つ MySQL クエリ メソッド

複数の条件を持つ MySQL クエリ環境: MySQL 5.7 where ステートメントに複数の ...

Linux デバイス用ネットワーク ドライバーの紹介

有線ネットワーク: イーサネット 無線ネットワーク: 4G、WiFi、Bluetooth、5G 概要...