擬似静的およびクライアント適応型 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 はパーセンテージスコアリングの進捗バーを実装します

推薦する

MySQL が外部キーを作成できない理由と解決策

2 つのテーブルを関連付けるときに、外部キーを作成できませんでした。このブログから、問題は、ポイント...

WeChatアプレットは固定ヘッダーとリストテーブルコンポーネントを実装します

目次必要:機能ポイントレンダリング実装のアイデア具体的なコード(react\taro3.0)特定のコ...

MySQL のソートとページング (order by と limit) と既存の落とし穴

並べ替えクエリ (order by)電子商取引の場合: 今日完了したすべての注文を表示し、取引金額に...

DockerのIDEA構成プロセス

IDEA は Java で最も一般的に使用されている開発ツールであり、Docker は最も人気のある...

JavaScript クロージャの説明

目次1. クロージャとは何ですか? 1.2 クロージャのメモ化: 関数は定義された環境を記憶する1....

Python ベースの Linux システムにおける特定のプロセスのパフォーマンス監視の考え方の詳細な説明

インターネット上には Linux サーバーを監視するためのツール、コンポーネント、プログラムが多数あ...

Vue はフォームデータ検証のサンプルコードを実装します

el-form フォームにルールを追加します。データにルールを定義する定義されたルールをel-for...

MySQL 8.0.25 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.25の最新のダウンロードとインストールのチュートリアルは参考になります。具体的な...

MySQL データベースの基礎を始めるための一般的なコマンドの概要

この記事では、MySQL データベースの基礎を学ぶためによく使用されるコマンドを例を使って説明します...

js の getBoundingClientRect() メソッドの詳細な説明

1. getBoundingClientRect() 分析getBoundingClientRect...

JavaScript ESの新機能letとconstキーワードに基づく

目次1. letキーワード1.1 基本的な使い方1.2 変動昇進はない1.3 一時的なデッドゾーン1...

イメージのアップロードとダウンロードに docker をプロキシするためのプライベート ライブラリとして nexus を使用する

1. Nexusの設定1. Dockerプロキシを作成する外部ネットワーク ウェアハウスからローカル...

MySQL における一般的な高度な SQL ステートメント

MySQL 高度な SQL ステートメント kgc を使用します。 テーブルlocation(Reg...

Linux コマンドライン操作 Baidu クラウドのファイルのアップロードとダウンロード

目次0. 背景1. インストール2. Baidu Cloudアカウントにログインする3. ファイルを...

dockerを使用してGrafana+Prometheus構成をデプロイする

docker-compose-monitor.yml バージョン: '2' ネットワ...