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

推薦する

CSSはフロントエンドの画像変形の問題を完璧に解決します

Toutiao IT School で、CSS がフロントエンドの画像変形の問題を完璧に解決するとい...

CSS フロートプロパティ図 フロートプロパティの詳細

CSS の float プロパティを正しく使用することは、カバーすべき内容が多く、ブラウザの互換性の...

MySql マスタースレーブレプリケーションの実装原理と構成

データベースの読み取りと書き込みの分離は、トラフィック量の多い大規模システムやインターネット アプリ...

Windows Server 2008 R2 サーバーが理由もなく自動的に再起動する問題の解決策

Windows Server 2008 サーバーが自動的に再起動します。サーバーにログインした後、ど...

Vue Element フロントエンドアプリケーション開発開発環境の準備

目次概要1. 必要なソフトウェア環境を開発する1) VSコードのインストール2) ノード開発環境をイ...

MySQL binlog ログを開く方法

binlog は、すべての mysql dml 操作を記録するバイナリ ログ ファイルです。 bin...

Tomcat ディレクトリ構造の詳細な紹介

tomcat の解凍されたディレクトリを開くと、次のディレクトリ構造が表示されます。 1.Tomca...

MySQL 8.0 をインストールした後、初めてログインするときにパスワードを変更する問題を解決する

MySQL 8.0.16で初回ログイン時のパスワードを変更する方法を紹介します。 MySQLデータベ...

Linux での MySQL マルチインスタンスの展開とインストール ガイド

MySQLマルチインスタンスとは簡単に言うと、MySQL マルチインスタンスとは、サーバー上で複数の...

JavaScriptは文字の出現回数をカウントします

この記事の例では、文字の出現回数をカウントするJavaScriptの具体的なコードを参考までに共有し...

Zabbix はどのようにして ssh 経由でネットワーク デバイス データを監視および取得するのでしょうか?

シナリオシミュレーション:ある会社の運用保守担当者は、以前購入した一連のネットワーク機器の光ポートの...

html オプション 無効 選択 選択 無効 オプションの例

コードをコピーコードは次のとおりです。 <選択> <オプション値="&q...

JavaScript マウスイベントのケーススタディ

マウスイベントマウスが特定の操作を実行すると、イベント オブジェクトが生成され、イベントがトリガーさ...

VMware ESXi のインストールと使用記録(ダウンロード付き)

目次1. ESXiをインストールする2. ESXiをセットアップする3. ESXiを起動するESXi...

Vue 仮想 DOM の問題について

目次1. 仮想DOMとは何ですか? 2. 仮想 DOM が必要な理由3. 仮想DOMはどのようにして...