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

推薦する

一般的な HBase 運用および保守ツール 10 個の概要

概要: HBase には、ユーザーに管理、分析、修復、デバッグ機能を提供するための多くの操作および保...

Linux 7.7 でスワップ パーティション SWAP を設定する方法

Linux システムの Swap パーティション、つまり swap パーティションは、一般に仮想メモ...

nginx+lua を使用した単一マシンでの何万もの同時接続の実装

nginx は弊社で最もよく使用されるサーバーで、コンテンツ配信やリバース プロキシによく使用されま...

リモート Linux システムでポートが開いているかどうかを確認する 3 つの方法

これは、Linux 管理者だけでなく、私たち全員にとって非常に重要なトピックです。つまり、IT イン...

axios でリクエストをキャンセルし、重複リクエストを防ぐ方法について簡単に説明します。

目次序文コア - キャンセルトークン実用的なアプリケーションとパッケージングいくつかの小さな詳細序文...

Element UI で自動サイズ調整テキストエリアの高さを設定する方法

Element UIのtextarea input自動サイズに設定すると、テキストボックスのデフォル...

MySQL 5.7 の同時レプリケーションにおける暗黙のバグの分析

序文当社の MySQL オンライン環境のほとんどはバージョン 5.7.18 を使用しています。このバ...

Windows 10 での mysql-8.0.17-winx64 のインストール方法

1.公式サイトからダウンロードして解凍する参考: ダウンロード後、zip 圧縮ファイル (mysql...

モバイル署名機能を実装するJavaScript

この記事では、モバイル署名機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

Dockerは異常なコンテナ操作を排除する

この初心者は、Docker を学び始めたばかりの頃にこのような問題に遭遇しました。記録しておきます。...

mysql binlog ログを正しくクリーンアップする 2 つの方法

mysqlはbinlogログを正しくクリーンアップします序文: MySQL の binlog はデー...

Nginx サービスを使用してサブドメイン環境を構築し、2D マップの読み込みパフォーマンスを向上させる方法を説明します。

1. 背景最近、友人が大規模なマップの読み込みが遅いという問題に遭遇しました。iServer のパ...

MySQL の自己結合重複排除に関する注意事項

機能シナリオを簡単に説明しましょう。データ行フィールドは次のとおりです。名前開始日時タイプこの表では...

背景とリンクとして画像を書き込む方法(背景画像+リンク)

写真を背景にしてリンクを記載します。たとえば、ウェブサイトのロゴ画像などです。例: ポテトのロゴ画像...

Dockerイメージのサイズを縮小する6つの方法

2017 年に Vulhub に取り組み始めてから、私は厄介な問題に悩まされてきました。Docker...