Nginx サーバーで URL リンクを設定する方法

Nginx サーバーで URL リンクを設定する方法

LNMPのようなアーキテクチャを持つウェブサイトは、一般的にPHPフレームワークに基づいて開発されています。PHPフレームワークは一般的にエレガントなリンクを重視しています。たとえば、Laravel、CodeIgniter、ThinkPHPなどはすべてこのリンクモードをサポートしています。これは、サーバー構成ではURL書き換えとも呼ばれます。現在、ほとんどのフレームワークは単一のエントリindex.phpを使用し、MVCモードに基づいて、一般的に/index.php/Model/functionのリクエストメソッドです。したがって、index.phpエントリファイルを削除することができれば、URL全体がシンプルで美しく見え、Python、Javaなどで開発されたウェブサイトのURLモードが統一されます。ApacheとnginxはどちらもこのURLモードをサポートしています。以下はnginxの構成方法です。

まず、nginx のインストール ディレクトリに入ります。前回の記事で、設定ファイル nginx.conf には、サイトの設定を指定するための server {} などのコード セグメントがあることを説明しました。その他にも多くの設定があります。URL 書き換えを実装するには、設定ファイルまたはインクルードされた設定ファイルの対応する server {} コード セグメントに次のコードを追加します。

  位置 / {
    try_files $uri $uri/ /index.php?$query_string;
  } 

元の location / {} コードがすでに存在する場合は、図のコード行を追加するだけです。同じルートの設定は通常まとめられているためです。保存後、nginx サーバーを再起動して有効にします。サービスに nginx が追加されている場合は、/etc/init.d/nginx restart を使用して再起動できます。再起動後、URL が整頓されます。

インターネット上の URL を書き換える別の方法があります。同じ場所に次のコードを追加して解決します。

位置 / {
    if (!-e $request_filename) {
      ^(.*)$ /index.php?s=$1 を最後に書き換えます。
      壊す;
    }
  }

保存後、nginx を再起動すると、URL 美化の効果も得られます。ただし、インターネット上のいくつかの記事によると、URL 美化には最初の方法が推奨されています。

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

以下もご興味があるかもしれません:
  • Ubuntu 18.04 で Nginx+RTMP+HLS+HTTPFLV サーバーを構成してオンデマンド/ライブ ブロードキャスト/録画機能を実現する方法の詳細説明
  • Ubuntu 14 に Nginx-RTMP ストリーミング サーバーをインストールするチュートリアル
  • Nginx-rtmp はライブメディアのリアルタイムストリーミング効果を実現します
  • Nginxはnginx-rtmp-moduleモジュールを使用してライブブロードキャストルーム機能を実現します。
  • Mac で nginx+rtmp ライブ サーバーを構築するための詳細な手順
  • nginxでイメージサーバーを構築する手順の詳しい説明(ルートとエイリアスの違い)
  • Nginxを使用してストリーミングメディアサーバーを構築し、ライブブロードキャスト機能を実現する
  • Linux サーバー上のローカル静的リソースにアクセスするために nginx を使用する方法
  • Nginx は rtmp ライブ サーバーの実装コードを構築します

<<:  JavaScript でグレイウルフのポットビーティングゲームを実装

>>:  MySQL 8.0 の降順インデックス

推薦する

MySQL 接続数を設定する方法 (接続数が多すぎる)

mysql使用中に接続数が超過していることが判明しました~~~~ [root@linux-node...

MySQL での挿入効率のいくつかの例の比較

序文最近、仕事の都合で、約 1000w の大量のデータを MySQL に挿入する必要があり、時間がか...

MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

MACでMySQLの初期パスワードを忘れた問題を解決する方法を参考までに共有します。具体的な内容は次...

MySQL 8で追加された3つの新しいインデックスは、非表示、降順、関数です。

目次MySQL 8 の隠しインデックス、降順インデックス、関数インデックス1. 隠しインデックス1....

MySQL IFNULL判定問題の解決方法

問題: mybatis によって返される null 型のデータが消え、フロントエンドの表示にエラーが...

MySQLデータをOracleに移行する正しい方法

mysql データベースには student テーブルがあり、その構造は次のとおりです。 Oracl...

zabbix 4.04 の詳細なインストール チュートリアル (CentOS 7.6 ベース)

1. インストール前の準備: 1.1 JDKをインストールするopenjdkをアンインストールする...

vue3 の setUp とリアクティブ関数の使用方法の詳細な説明

1. いつsetUpを実行するかvue3 ではメソッドを正常に使用できるようになったことは誰もが知っ...

CSS の 6 つの重要なセレクター (3 秒で覚える)

出典: https://blog.csdn.net/qq_44761243/article/deta...

VMware Tools を最初からインストールするための詳細な手順 (グラフィック チュートリアル)

VMware Tools は VMware 仮想マシンに付属するツールで、VirtualBox (...

href をクリックした後にページがジャンプしないようにするための空のリンクの正しい書き方 # 問題

リンクを使用する必要がある場合もありますが、リンクする必要はありません。onclick イベントを処...

Reactのコンポーネント共同利用実装

目次ネスティング親子コンポーネント通信ブラザーコンポーネント通信撤回するReact の Linked...

CSS3 グラデーション背景の互換性の問題

グラデーションの背景色を作成するときは、 linear-gradient() 関数を使用して線形グラ...

Docker Compose を使用して ELK を迅速にデプロイする (テスト済みで効果的)

目次1. 概要1.1 定義1.2 機能説明2. ELKを展開する2.1 ディレクトリとファイルを作成...

Dockerコンテナでの静的ウェブサイトレイアウトの実装

サーバーの配置数日間無料で使用できるクラウドサーバー(Alibaba Cloud、Huawei Cl...