以前、thinkphp システムは apache 上にデプロイされていましたが、同時実行パフォーマンスの点では nginx が Apache よりもはるかに強力であることを考慮して、thinkphp システムを nginx+php-fpm モードで centos に再デプロイしました。その結果、
のようなことがわかりました。
1 | /index.php/home/user/verify |
この種の URL nginx は 404 エラーを報告しますが、それを
に変更します
1 | /index.php?s=/home/user/verify |
後でアクセスできます。つまり、前の URL は nginx でサポートされていないのですが、なぜサポートされないのでしょうか?この問題を解決するには、まず thinkPHP のいくつかの URL モードを理解する必要があります。
1 | /index.php/home/user/verify |
この URL 形式では、サーバーが pathinfo をサポートする必要があります
1 | /?s=/ホーム/ユーザー/検証 |
index.phpの擬似静的モードを削除します
通常モードでは、s=/parameter/またはm=model&a=actionを追加します
ファイル/Application/Common/conf.phpのURL_MODELの値を変更します
1 | 'URL_MODEL' => 3 |
nginx はデフォルトでは pathinfo モードをサポートしていません。サポートするには書き換えルールを手動で追加する必要があります
index.phpで始まる#uri 場所 ~ ^/index.php(.*) { # 通常モードとしての hPathinfo モードの URI 書き換え ^/index.php(.*)$ ?s=$1 last; 3. nginx設定情報をリロードします 1 サービスnginxリロード 完了! http://www.bkjia.com/PHPjc/1067096.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1067096.html技術記事 thinkphp nginx php-fpm URL 書き換えで 404 エラーが発生する、thinkphpnginx thinkphp nginx php-fpm URL 書き換えで 404 エラーが発生する thinkphp のシステムが Apache にデプロイされる前は、同時実行性を考慮して... |