2016-06-14 5 views
0

私は最近のような構成でカスタムエラーページを作成しました「= _?」:カスタムnginxのためのPHPのエラーページがに応答しない

error_page 404 /error.php?code=404

しかし、唯一のerror.phpの代わりに現れているようですerror.php?code=404

私はブラウザで/error.php?code=404にアクセスしてphpファイルをチェクしました。うまくいきます。私は$を使用しています

助けてください。どうもありがとう。

答えて

0

nginx documentationから、パラメータではなく、スクリプト名(または@named location)のURIのみを指定できるようです。スクリプトは元のURIのパラメータを代わりに受け取ると思います。あなたがリダイレクトする各エラーコードのために別々のerrorXYZ.phpスクリプトを持っている必要があります

1):

は、いくつかのソリューション/回避策があります。

2)http://yourserver.com/error.php?code=404などの外部リダイレクトを使用してください。ただし、これはHTTP応答コード302で無効になり、ブラウザにはerror.phpの場所が表示されます。

3)または/error.php/404などのURIをPHPスクリプト内で解析します。

関連する問題