ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp nginx php-fpm URL書き換えにより404エラーが発生する

thinkphp nginx php-fpm URL書き換えにより404エラーが発生する

WBOY
WBOYオリジナル
2016-07-29 09:12:361251ブラウズ

thinkphp nginx php-fpm URL 書き換えにより 404 エラーが発生する

thinkphp システムは、同時実行パフォーマンスの点で nginx が apache よりもはるかに強力であることを考慮して、nginx+php-fpm で centos に再デプロイされました。モード。

1

/index.php/home/user/verifyなどの結果が見つかりました。

この種の URL nginx は 404 エラーを報告しますが、それを

1

に変更します

/

index.php? s=/ ホーム/ユーザー/検証

、これは後でアクセスできたことを示しています。以前の URL は nginx でサポートされていません。なぜサポートされるのでしょうか?この問題を解決するには、まず thinkPHP のいくつかの URL モードを理解する必要があります。 thinkPHP URL パターン

1. pathinfo パターン

1

/

index

.php/home/user /検証

この URL 形式では、サーバーが pathinfo

2 をサポートする必要があります。

/ ? suserthinkPHP URL モード設定
=

/

home/
/

verify

Index.php3の擬似静的モード。互換モード

通常モードと s=/parameter/ または m=model&a=action
ファイル /Application/Common/conf.php

内の URL_MODEL の値を変更します

1

'URL_MODEL'

=>2. 次のロケーションルールをサーバーノードに追加します:
3

nginx pathinfo モード設定nginx は pathinfo モードをサポートしていませんデフォルト はい、サポートするには書き換えルールを手動で追加する必要があります

1. /nginx/conf/vhost ディレクトリでサイト構成ファイルを開きます。

1

2

345

6

7

8

9

10

11

# urilocation
~

^/index.php(.*)

if(!-e $リクエストファイル名)

通常モードで書き込みます

(. *)$ /index.php?s=$1 last;

} }

3. nginx 設定情報をリロードします

1

service nginx reload

完了!

上記では、thinkphp nginx php-fpm の URL 書き換えによって発生する 404 エラーについて、アプリケーションの内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。