thinkphp nginx php-fpm URL 書き換えにより 404 エラーが発生します
Thinkphp のシステムは、以前は Apache 上にデプロイされていましたが、nginx の方が点では Apache よりも強力です。さらに同時実行パフォーマンスが向上したため、centos の nginx php-fpm モードで thinkphp システムを再デプロイしたところ、
1
|
/インデックス.php/home/ユーザー/確認
|
このタイプの URL nginx は 404 エラーを報告しますが、それを
1 |
/index.php?s=/home/user/verify |
1
|
/インデックス.php?s=/ホーム/ユーザー/検証
|
は次のとおりです後でアクセスすると、前に特定の URL が nginx でサポートされていないことがわかります。なぜサポートされないのでしょうか?この問題を解決するには、まず thinkPHP のいくつかの URL モードを理解する必要があります。
1 |
/index.php/home/user/verify |
1
|
/インデックス.php/home/ユーザー/確認
|
1 |
/?s=/home/user/verify |
1
|
/?s=/ホーム/ユーザー/確認
|
index.php の擬似静的モードを削除します
thinkPHP URL モード設定
1
|
' URL_MODEL' => 3
|
1 2
3
4
5
6
7
8
9
10
11
|
# インデックス.uri location ~ ^/index.php(.*)
{
#ファイルまたはパスが存在しない場合
if (!- e $request_filename)
🎜> uriは通常モードに書き換えられました rewrite ^/index.php(.*)$ /index.php?s=$1 last;
break;
}
}
|
1
サービス nginx reload 完了 !
|