0

私はWave Frameworkの開発者です。この軽量フレームワークには、API のデプロイとリソースの動的な提供を容易にする多くの機能が含まれています。

それらの機能の 1 つは、オンデマンドの画像編集です。たとえば、私のサーバーには次のファイルがあります。

http://www.waher.net/w/resources/images/logo.png

しかし、私の HTML では、次のような URL から画像を読み込みます。

http://www.waher.net/w/resources/images/160x160&logo.png

この「160x160&logo.png」ファイルは実際には存在せず、存在する唯一のファイルは「logo.png」です。すべての HTTP 要求は PHP にルーティングされ、ファイル URL のパラメーターが解析されて、画像の解像度などの追加機能が適用されます。

なぜこれが役立つのですか?システムに多数のユーザー アバターがあり、デザインを変更した場合、アバター画像の URL を簡単に変更でき、すべてが期待どおりに機能します。すべてのユーザーのすべてのアバターを再生成する必要はありません。特に、システムにもう存在せず、リソースを浪費するだけのユーザーのアバターを再生成する必要はありません。

しかし、これが私の問題です。Nginxを実装してサーバー上の静的ファイルを提供したい場合、システムが機能しません。これは、Nginx が静的ファイル自体をロードしようとし、画像が見つからない場合は 404 Not Found メッセージをスローするためです。同じことが Apache と Squid にも当てはまると思います。

私のクライアントの 1 人は、代わりに Nginx を介して画像とリソースを提供したいと具体的に要求しましたが、開発と設計を容易にするために動的な画像を望んでいます。

画像ファイル自体が見つからない場合は、Nginx または Squid にリクエストを PHP に送信するように指示することはできますか? 同時に、同じファイルへの後続のリクエストでNginxキャッシュから常にそれを提供しますか?

動的に読み込まれる画像ファイルの柔軟性が必要ですが、画像ファイルを提供するときに Nginx の速度も必要です。このようなことは可能ですか?これを可能にする特定のファイル ヘッダーを PHP で設定する必要がありますか? (私はすでにキャッシュを設定し、ヘッダーを期限切れにします)。

ありがとうございました!

4

0 に答える 0