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 の降順インデックス

推薦する

Linuxオペレーティングシステムは、タスクマネージャーの視覚化機能を実装するためにPythonを使用しています。

1. Pythonのインストール1. フォルダーを作成します。 mkdir python フォルダ...

mysql5.7.19 解凍版の詳細なインストール チュートリアル (純粋なクラックされた中国語版 SQLYog を使用)

Mysql5.7.19バージョンは今年リリースされた新しいバージョンです。最近のMySQLのバージ...

InnoDB のアーキテクチャと機能の詳細な説明 (InnoDB ストレージ エンジンの読書メモの要約)

背景スレッド•マスタースレッドコア バックグラウンド スレッドは主に、バッファー プール データをデ...

MySQLリモート接続権限の詳細な説明

1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...

Linux CRM デプロイメント コードの詳細な説明

Linuxの基本設定 Linux環境でpython3をコンパイルしてインストールする 1. Linu...

JavaScript 事前分析、オブジェクトの詳細

目次1. 事前分析1. 変数の事前解析と関数の事前解析1. 変数の事前解析2. 機能事前分析2. 事...

mysql5.5.28 のインストール チュートリアルは非常に詳細です。

参考までにmysql5.5.28のインストールチュートリアルです。具体的な内容は次のとおりです。イン...

JavaScriptの信頼性の低い未定義

undefined JavaScript では、値が undefined かどうかを判断したい場合は...

Vue は Tencent Map を統合して API を実装します (デモ付き)

目次執筆の背景プロジェクトの説明事前準備注記執筆の背景以前のプロジェクトではTencent Maps...

MySQLバッチは特定のフィールドのスペースを削除します

Mysql で特定のフィールドからスペースを一括削除する方法はありますか?文字列の前後のスペースだけ...

mysql 8.0.12 winx64 のダウンロードとインストールのチュートリアル

MySQL 8.0.12のダウンロードとインストールのチュートリアルは参考までに、具体的な内容は次の...

MySQL パスワードは正しいが、ローカルにログインできない -1045

MySQLパスワードは正しいが、ローカルでログインできない -1045 ユーザー 'roo...

SpringBootはActiviti7実装コードを統合する

Activiti7 の正式リリース以降、SpringBoot2.x との統合開発を全面的にサポートし...

Windows 64 ビットに MySQL を再インストールするチュートリアル (Zip バージョン、解凍バージョンの MySQL インストール)

MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...

よくある Linux 英語エラーの中国語翻訳 (初心者必見)

1.コマンドが見つかりません コマンドが見つかりません2. そのようなファイルまたはディレクトリは...