擬似静的およびクライアント適応型 Nginx の設定方法

擬似静的およびクライアント適応型 Nginx の設定方法

バックエンドは thinkphp3.2.3 フレームワークを使用します。他の言語を使用している場合は、適切な変更を行ってください。

サーバー{
    聞く 80;
    サーバー名 www.morgen.club;

    #文字セット koi8-r;
    
    #access_log ログ/host.access.log メイン;

ウェブサイトのルートディレクトリ

    位置 / {
      ルートhtml;
      インデックス index.html index.htm;
      #アクセスデバイスを設定します。set $source_device 'index';
      #モバイルクライアントかiPadかを判断する
      $http_user_agent の場合、(モバイル|ノキア|iPhone|iPad|Android|サムスン|HTC|ブラックベリー) {
        $source_device を 'phone' に設定します。
      }
      #ルートディレクトリif ($request_uri ~* ^/$){
        最後に ^(.*)$ /index.php?s=/Home/$source_device/index.html を書き換えます。
        壊す;
      }
      #コンピュータのホームページif ($request_uri ~* ^/Home/index/index.html$) {
        ^/Home/index/index.html$ /web/ を永続的に書き換えます。
        壊す;
      }
      #コンピュータのホームページのページング if ($request_uri ~* ^/Home/index/index/page/(\d*).html$) {
        ^/Home/index/index/page/(\d*).html$ /web/pages/$1/ を永続的に書き換えます。
        壊す;
      }
      #コンピュータのホームページ カテゴリのホームページ if ($request_uri ~* ^/Home/index/index/cate/(\d*).html$) {
        ^/Home/index/index/cate/(\d*).html$ /web/cates/$1/ を永続的に書き換えます。
        壊す;
      }
      #コンピュータのホームページのカテゴリページング if ($request_uri ~* ^/Home/index/index/cate/(\d*)/page/(\d*).html$) {
        ^/Home/index/index/cate/(\d*)/page/(\d*).html$ /web/cates/$1/pages/$2/ を永続的に書き換えます。
        壊す;
      }
      #コンピュータのホームページ検索 if ($request_uri ~* ^/Home/index/index.html(.*)) {
        ^/Home/index/index.html(.*) /web/search?$query_string を永続的に書き換えます。
        壊す;
      }
      #コンピュータブックページ if ($request_uri ~* ^/Home/index/books/book/(\d*).html$) {
        ^/Home/index/books/book/(\d*).html$ /web/books/$1/ を永続的に書き換えます。
        壊す;
      }
      #コンピュータの章ページ if ($request_uri ~* ^/Home/index/contents/books/(\d*)/chapters/(\d*).html$) {
        ^/Home/index/contents/books/(\d*)/chapters/(\d*).html$ /web/books/$1/chapters/$2/ を永続的に書き換えます。
        壊す;
      }
      #モバイルホームページif ($request_uri ~* ^/Home/phone/index.html$) {
        ^/Home/phone/index.html$ /phone/ last を書き換えます。
        壊す;
      }
      #モバイルホームページのページング if ($request_uri ~* ^/Home/phone/index/page/(\d*)(.*)$) {
        ^/Home/phone/index/page/(\d*).html /phone/pages/$1/ を永続的に書き換えます。
        壊す;
      }
      #モバイルホームページ カテゴリホームページ if ($request_uri ~* ^/Home/phone/index/cate/(\d*).html$) {
        ^/Home/phone/index/cate/(\d*).html$ /phone/cates/$1/ を永久に書き換えます。
        壊す;
      }
      #モバイルホームページのカテゴリページング if ($request_uri ~* ^/Home/phone/index/cate/(\d*)/page/(\d*).html$) {
        ^/Home/phone/index/cate/(\d*)/page/(\d*).html$ /phone/cates/$1/pages/$2/ を永続的に書き換えます。
        壊す;
      }
      #モバイルホームページ検索if ($request_uri ~* ^/Home/phone/index.html?(.*)) {
        ^/Home/phone/index.html(.*) /phone/index.html$1 を永続的に書き換えます。
        壊す;
      }
      #モバイルブックページif ($request_uri ~* ^/home/phone/books/book/(\d*).html$) {
        ^/home/phone/books/book/(\d*).html$ /phone/books/$1/ を永久に書き換えます。
        壊す;
      }
      #モバイル チャプター ページif ($request_uri ~* ^/home/phone/contents/books/(\d*)/chapters/(\d*).html$) {
        ^/home/phone/contents/books/(\d*)/chapters/(\d*).html$ /phone/books/$1/chapters/$2/ を永続的に書き換えます。
        壊す;
      }
      
      $request_uri が ~* ^/Home/book/(.*)$ の場合 {
        ^(.*)$ /index.php?s=$1 を最後に書き換えます。
        壊す;
      }

      if (!-e $request_filename) {
        404 を返します。
      }
    }

コンピュータブラウザ

    場所 /ウェブ {
      ルートhtml;
      インデックス index.html index.htm;
      #デバイスが携帯電話またはiPadの場合
      $http_user_agent の場合、(モバイル|ノキア|iPhone|iPad|Android|サムスン|HTC|ブラックベリー) {
        ^/web(.*) /phone$1 を永久的に書き換えます。
      }
        #コンピュータのホームページ検索if ($request_uri ~ ^/web/search(.*)$) {
          最後に ^(.*) /index.php?s=/Home/index/index.html を書き換えます。
          壊す;
        }
        #コンピュータのホームページ $index を false に設定します。
        $request_uri ~* ^/web$ の場合 {
          $index を true に設定します。
        }
        $request_uri が ~* ^/web/$ の場合 {
          $index を true に設定します。
        }
        ($index = true)の場合{
          最後に ^/web(.*) /index.php?s=/Home/index/index.html を書き換えます。
          壊す;
        }
        #コンピュータのホームページのページング $index_page を false に設定します。
        $request_uri が ~* ^/web/pages/(\d*)$ の場合 {
          $index_page を true に設定します。
        }
        $request_uri が ~* ^/web/pages/(\d*)/$ の場合 {
          $index_page を true に設定します。
        }
        ($index_page = true)の場合{
          最後に ^/web/pages/(\d*)(.*) /index.php?s=/Home/index/index/page/$1.html を書き換えます。
          壊す;
        }
        #コンピュータ カテゴリのホームページを $cate で false に設定します。
        $request_uri が ~* ^/web/cates/(\d*)$ の場合 {
          $cate を true に設定します。
        }
        $request_uri が ~* ^/web/cates/(\d*)/$ の場合 {
          $cate を true に設定します。
        }
        ($cate = true)の場合{
          最後に ^/web/cates/(\d*)(.*) /index.php?s=/Home/index/index/cate/$1.html を書き換えます。
          壊す;
        }
        #コンピュータ カテゴリ ページング $cate_page を false に設定します。
        $request_uri ~* ^/web/cates/(\d*)/pages/(\d*)$ の場合 {
          $cate_page を true に設定します。
        }
        $request_uri が ~* ^/web/cates/(\d*)/pages/(\d*)/$ の場合 {
          $cate_page を true に設定します。
        }
        ($cate_page = true)の場合{
          最後に ^/web/cates/(\d*)/pages/(\d*)(.*) /index.php?s=/Home/index/index/cate/$1/page/$2.html を書き換えます。
          壊す;
        }
        
        #コンピュータブックのページセット $book false;
        $request_uri が ~* ^/web/books/(\d*)$ の場合 {
          $book を true に設定します。
        }
        $request_uri が ~* ^/web/books/(\d*)/$ の場合 {
          $book を true に設定します。
        }
        ($book = true)の場合{
          最後に ^/web/books/(\d*)(.*) /index.php?s=/Home/index/books/book/$1.html を書き換えます。
          壊す;
        }
        #コンピュータの章ページセット $chapter false;
        $request_uri が ~* ^/web/books/(\d*)/chapters/(.*)$ の場合 {
          $chapterをtrueに設定します。
        }
        $request_uri が ~* ^/web/books/(\d*)/chapters/(.*)/$ の場合 {
          $chapterをtrueに設定します。
        }
        ($chapter = true)の場合{
          最後に ^/web/books/(\d*)/chapters/(.*)/ /index.php?s=/Home/index/contents/books/$1/chapters/$2.html を書き換えます。
          壊す;
        }

        if (!-e $request_filename) {
          404 を返します。
        }
    }

モバイルとタブレット

    場所 / 電話番号 {
      ルートhtml;
      インデックス index.html index.htm;
      #デバイスが携帯電話やiPadでない場合
      $http_user_agent の場合 !~* (モバイル|ノキア|iPhone|iPad|Android|サムスン|HTC|ブラックベリー)) {
        ^/phone(.*) /web$1 を永久的に書き換えます。
      }
        #コンピュータのホームページ検索if ($request_uri ~ ^/phone/search(.*)$) {
          最後に ^(.*) /index.php?s=/Home/phone/index.html を書き換えます。
          壊す;
        }
        #モバイルホームページ $index を false に設定します。
        $request_uri ~* ^/phone$ の場合 {
          $index を true に設定します。
        }
        $request_uri が ~* ^/phone/$ の場合 {
          $index を true に設定します。
        }
        ($index = true)の場合{
          最後に ^/phone(.*) /index.php?s=/Home/phone/index.html を書き換えます。
          壊す;
        }
        #モバイルホームページのページング $index_page を false に設定します。
        ($request_uri ~* ^/phone/pages/(\d*)$) の場合 {
          $index_page を true に設定します。
        }
        $request_uri が ~* ^/phone/pages/(\d*)/$ の場合 {
          $index_page を true に設定します。
        }
        ($index_page = true)の場合{
          最後に ^/phone/pages/(\d*)(.*) /index.php?s=/Home/phone/index/page/$1.html を書き換えます。
          壊す;
        }
        #携帯電話のカテゴリホームページ $cate を false に設定します。
        $request_uri ~* ^/phone/cates/(\d*)$ の場合 {
          $cate を true に設定します。
        }
        $request_uri ~* ^/phone/cates/(\d*)/$ の場合 {
          $cate を true に設定します。
        }
        ($cate = true)の場合{
          最後に ^/phone/cates/(\d*) /index.php?s=/Home/phone/index/cate/$1.html を書き換えます。
          壊す;
        }
        #携帯電話のカテゴリページングを$cate_page falseに設定します。
        ($request_uri ~* ^/phone/cates/(\d*)/pages/(\d*)$) の場合 {
          $cate_page を true に設定します。
        }
        ($request_uri ~* ^/phone/cates/(\d*)/pages/(\d*)/$) の場合 {
          $cate_page を true に設定します。
        }
        ($cate_page = true)の場合{
          最後に ^/phone/cates/(\d*)/pages/(\d*)(.*) /index.php?s=/Home/phone/index/cate/$1/page/$2.html を書き換えます。
          壊す;
        }
        #モバイルブックページセット $book false;
        $request_uri ~* ^/phone/books/(\d*)$ の場合 {
          $book を true に設定します。
        }
        $request_uri が ~* ^/phone/books/(\d*)/$ の場合 {
          $book を true に設定します。
        }
        ($book = true)の場合{
          最後に ^/phone/books/(\d*)(.*) /index.php?s=/Home/phone/books/book/$1.html を書き換えます。
          壊す;
        }
        #モバイルブックのページングページセット$book false;
        $request_uri ~* ^/phone/books/(\d*)/pages/(\d*)$ の場合 {
          $book を true に設定します。
        }
        $request_uri が ~* ^/phone/books/(\d*)/pages/(\d*)/$ の場合 {
          $book を true に設定します。
        }
        ($book = true)の場合{
          最後に ^/phone/books/(\d*)/pages/(\d*) /index.php?s=/Home/phone/books/book/$1/page/$2.html を書き換えます。
          壊す;
        }
        #モバイル チャプター ページ セット $chapter false;
        $request_uri ~* ^/phone/books/(\d*)/chapters/(.*)$ の場合 {
          $chapterをtrueに設定します。
        }
        $request_uri ~* ^/phone/books/(\d*)/chapters/(.*)/$ の場合 {
          $chapterをtrueに設定します。
        }
        ($chapter = true)の場合{
          最後に ^/phone/books/(\d*)/chapters/(.*)/ /index.php?s=/Home/phone/contents/books/$1/chapters/$2.html を書き換えます。
          壊す;
        }

        if (!-e $request_filename) {
          404 を返します。
        }
    }
    場所 ~ .xml(.*) {
      ルート html/ttt/;
    }
 
    場所 ~ .txt(.*) {
      ルート html/ttt/;
    }
    場所 ~ .gif(.*) {
      ルート html/ttt/;
    }
    場所 ~ .jpg(.*) {
      ルート html/ttt/;
    }
    場所 ~ .css(.*) {
      ルート html/ttt/;
    }
    場所 ~ .js$ {
      ルート html/ttt/;
    }
    場所 ~ .php$ {
      ルート html/ttt;
      127.0.0.1:9000; をデフォルトとして設定します。
      fastcgi_index インデックス.php;
      fastcgi_buffers 8 256k;
      fastcgi_connect_timeout 300秒;
      fastcgi_send_timeout 300秒;
      fastcgi_read_timeout 300秒;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_params を含めます。
    }
  }

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Nginx で WordPress 擬似静的を設定する方法の例
  • Yii2 で Nginx 擬似静的を設定する方法
  • Nginx 擬似静的設定と一般的な Rewrite 擬似静的ルールのコレクション
  • 中国でよく使われている PHP CMS 向けの Nginx サーバーの擬似静的ルール
  • nginx の書き換え擬似静的設定パラメータと使用例
  • nginx rewrite疑似静的設定パラメータの詳細な説明
  • nginx 擬似静的書き換えルール

<<:  InnoDB タイプの MySql によるテーブル構造とデータの復元

>>:  jQuery はパーセンテージスコアリングの進捗バーを実装します

推薦する

CSS3 を使用した SVG パス ストロークのアニメーション化入門チュートリアル

JavaScript に依存せず、純粋な CSS を使用してsvgストローク描画アニメーション効果と...

MySQL のファントムリード問題を解決する方法

目次序文1. ファントムリーディングとは何ですか? 2. ファントムリーディングの問題点は何ですか?...

MySQL データの集約とグループ化

多くの場合、データを実際に取得せずに要約する必要があり、 MySQLこの目的のために特別な関数を提供...

MySQLが基礎データ構造としてB+ツリーを使用する理由

MySQL の基盤となるデータ構造が B+ ツリーであることは誰もが知っていますが、ではなぜ赤黒ツリ...

Layui は複数条件クエリのサンプルコードを実装します

最近ファイルシステムを作ったのですが、フィールドが多すぎることに気づきましたページングを使用した複数...

Reactでファイルパスエイリアスを素早く設定する方法

React は、ユーザー インターフェイスを構築するための JavaScript ライブラリです。F...

LinuxシステムにDockerをインストールするプロセス

このブログでは、Docker をインストールするプロセスを簡単な手順で説明します。Docker のイ...

MySQL クエリ フィールド タイプが json の場合の 2 つのクエリ メソッド

テーブル構造は次のとおりです。 id varchar(32) 情報JSONデータ: id = 1 i...

JavaScript は 3 つの一般的な Web 効果 (オフセット、クライアント、スクロール シリーズ) を実装します。

目次1. 要素オフセットシリーズ2. 要素表示領域クライアントシリーズ3. 要素スクロールシリーズ1...

Linux (Ubuntu) での MySQL 5.6.28 のインストールと設定のチュートリアル

mysql5.6.28のインストールと設定方法1. 基本的なシステム情報を確認し、yumでインストー...

MySQLのMVCCマルチバージョン同時実行制御の実装

1 MVCCとは何かMVCC の正式名称は、マルチバージョン同時実行制御です。データベースへの同時ア...

初めてDockerイメージを構築、実行、公開、取得するための詳細な手順

1. はじめに以前は、Python アプリケーションの作成を開始したい場合、最初のステップはマシンに...

JavaScriptはスクロールバーの位置を取得し、ページをアンカーポイントまでスライドします。

序文この記事は、私が最近仕事で遭遇した問題を記録したものです。アプリネイティブとフロントエンドのh5...

Linux カーネル デバイス ドライバー proc ファイル システム ノート

/***************** * proc ファイルシステム***************...