0

にページがありますexample.com/fruit.php。このページはISSET()、パラメーターを解析して、ユーザーに何を表示するかを決定するために使用します。たとえば、example.com/fruit.php?name=apple&color=red. これは簡単に行うことができますが、リクエストは次のようにページに表示されるようにしたいと思います。

mysite.com/fruit/apple/red

パラメータが 2 つしかないことがわかっているので、URL を簡単に解析してページを作成できます。ただし、example.com/fruitページ自体がURLを解析できるように、URLの背後にあるすべてのリクエストをfruit.phpに送信するようにnginxを構成するにはどうすればよいですか。これが私のロケーションブロックで試したことです:

location ~ /fruit {
return 301 https://www.example.com/fruit.php;
} 

これは私にはうまくいきません。私はそれを理解しようとして約 1 日を費やしました。どんな助けでも大歓迎です。

4

1 に答える 1

0

私はあなたがこれに間違って近づいていると思います。

Web サーバーを使用してルートを作成および維持しようとしている場合、展開するたびに運用サーバーで Web サーバー サービスを循環させる必要があるなど、最終的に問題が発生することは避けられません。

これに加えて、Web サーバー構成をアプリケーションに緊密に結合しているため、これは最善の方法ではありません。

私がお勧めするのは、ある種のルーター パッケージを使用して、プロジェクトのルートを維持することです。

この stackoverflow questionの回答をご覧ください。

次に、プロジェクト内の index.php ファイルに解決されるように Web サーバーを構成できます。このファイルは、ルーターを使用してアプリ内のパスのロジックを処理します。

nginx 構成が最終的にどのようになるかについては、こちらをご覧ください:リクエストのエントリ ポイントとして index.php を使用する nginx ルーティングに関する stackoverflow 。

于 2016-06-09T21:22:47.943 に答える