nginx で pathinfo モードを設定する方法
理由
私は長い間 Apache を使っていませんでした。友人が zendframework フレームワークを持っていて、それを Apache から nginx に移行したため、Apache にだんだん慣れなくなってきました。 pathinfo モードのサポートが必要です。
オンライン検索
そこで、最初は簡単に設定できるだろうと考え、nginx pathinfo に関連する記事を探し始めました。検索してみると、pathinfoモードを有効にするnginxを紹介している記事がたくさんあり、難しくはないようです。しかし、数時間経っても、まだ正しく構成されていません。そして、多くの記事の内容は非常に似ており、基本的には転載されています。
少し不安になってきました!一日経っても準備が終わっていないからです。
検索を続ける
仕方がありません。検索を続けます。検証の便宜上、a.com を使用して thinkphp フレームワークをダウンロードし、環境をセットアップしました。そして、useraction.class.php コントローラー クラスを追加し、クラスに app メソッドを追加して、テキスト行を出力します。
そこで、nginx.conf ファイルを常に書き換え、nginx を再起動し、a.com/index.php/user/app アドレスを常に更新するようにしました。結果は、アドレス破損プロンプト (502) またはアクセス定義のいずれかになります。
さらに 1 日経ち、私は少し躊躇し始めました。
最終的に持続しました
論理的に言えば、nginx thinkphp の前例があるはずだと思いますが、答えは探しませんでした。突然、インターネット上で非常に混乱し、小さな質問に対する答えが見つかりません。今夜、もう一度 nginx thinkphp キーワード検索を使用してみました。クリックして 10 ページ以上進んだ後、コードを見つけました。
コードをコピーします。コードは次のとおりです。
location / {
if (!-e $request_filename) {
書き換え ^/(.*)$ /index.php/$1 last;
Break;
}
}
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
include fcgi.conf;
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^ (. ?\.php)(/. )$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param script_filename $document_root$real_script_name;
fastcgi_param script_name $real_script_name;
fastcgi_param path_info $path_info;
}
変更を保存し、nginx を再起動し、ブラウザを更新します
予期しないページが表示されます
ようやくアクセスできて、やっと安堵のため息をつきましたが、本当に簡単ではありませんでした。
nginx.conf コードを投稿します:
コードをコピーします。コードは次のとおりです:
user www www;
worker_processes 2;
worker_cpu_affinity 01 10;
error_log /data1/logs/nginx_error.log crit;
pid /usr/local/webserver /nginx/nginx.pid;
worker_rlimit_nofile 65535;
events
{
epoll を使用する;
worker_connections 65535;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nolay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300 ;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
サーバー
{
リッスン 80;
サーバー名 a.com ;
index index.php;
root /data0/htdocs/a.com/www;
location / {
if (!-e $request_filename) {
rewrite ^ /(.*)$ /index.php/$1 last;
Break;
}
}
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
include fcgi.conf;
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(. ?\.php)(/. )$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param script_filename $document_root$real_script_name;
fastcgi_param script_name $real_script_name ;
fastcgi_param path_info $path_info;
}
}
}
以上がnginx で pathinfo モードを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









クラウドサーバーでnginxドメイン名を構成する方法:クラウドサーバーのパブリックIPアドレスを指すレコードを作成します。 NGINX構成ファイルに仮想ホストブロックを追加し、リスニングポート、ドメイン名、およびWebサイトルートディレクトリを指定します。 nginxを再起動して変更を適用します。ドメイン名のテスト構成にアクセスします。その他のメモ:SSL証明書をインストールしてHTTPSを有効にし、ファイアウォールがポート80トラフィックを許可し、DNS解像度が有効になることを確認します。

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

nginxバージョンを照会できるメソッドは次のとおりです。nginx-vコマンドを使用します。 nginx.confファイルでバージョンディレクティブを表示します。 nginxエラーページを開き、ページタイトルを表示します。

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

Linuxでは、次のコマンドを使用して、nginxが起動されるかどうかを確認します。SystemCTLステータスNGINXコマンド出力に基づいて、「アクティブ:アクティブ(実行)」が表示された場合、NGINXが開始されます。 「アクティブ:非アクティブ(dead)」が表示されると、nginxが停止します。

Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。
