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

推薦する

一般的な Dockerfile コマンドの使用方法の紹介

目次01 CM 02 エントリーポイント03 ワークディレクトリ04 環境05 ユーザー06巻07 ...

HTML レイヤード ボックス シャドウ効果のサンプル コード

まず、画像を見てみましょう。今日はこのエフェクトを作成します。 実は、何でもないんです。Web ペー...

リモートログインとポート公開を防ぐためのLinuxサーバー構成IPホワイトリスト

序文ブロガーが使用しているサーバーは Alibaba Cloud から購入したものです。実際、Ali...

IE6/IE7/IE8/IE9/FF 向け CSS ハック (概要)

IE8.0の正式版をインストールしたので、基本的なCSS HACKをいくつかまとめてみました。We...

ウェブページ印刷細線表+ページ印刷究極の戦略

最近、クライアントのために印刷していたとき、ページのヘッダーを印刷するのではなく、表の内容だけを印刷...

VantフレームワークをWeChatアプレットに導入するプロセス全体の記録

序文WeChat ミニプログラムのネイティブ UI が少し物足りないと感じることがあるので、サードパ...

Nodejs は readline を使用してコンテンツ入力を促すサンプルコード

目次序文1. batがjsを実行する2. ターミナルにバージョン番号を入力してパッケージ化コマンドを...

Tomcat メモリ オーバーフロー問題の解決経験

少し前に、製品バージョンをテスト用にテスターに​​提出したのですが、テスト結果はまったく予想外のもの...

ウェブデザインの教育または学習プログラム

セクションコース内容営業時間1 ウェブデザインの概要2 2 HTML 基本タグとフォーマットタグ 2...

MySQLのexplain型の詳細な説明

導入:多くの場合、さまざまな選択ステートメントを使用して必要なデータを照会した後、多くの人は作業が正...

HTML テーブル マークアップ チュートリアル (40): ヘッダーの暗い境界線の色属性 BORDERCOLORDARK

テーブルヘッダーでは、暗い境界線の色を個別に定義できます。基本的な構文<TH 境界線の色を暗く...

DockerコンテナにPythonアプリケーションをデプロイするプロセスの分析

シンプルなアプリケーションの展開1. ディレクトリ構造: └── Pythonpro #ディレクトリ...

フロントエンドセキュリティの詳細な説明: JavaScript の http ハイジャック対策と XSS

目次HTTP ハイジャック、DNS ハイジャック、XSS HTTPハイジャックDNSハイジャックXS...

base target="" はフレームを開くためのベースリンクのターゲットを指定します

<base target=_blank> は、基本リンクのターゲット フレームを新しいペ...