0

古いPHPベースのCMSでnginxを構成する際に問題が発生しました。

PHPはこのようなURLを作成します。 http://mysite.com/img/s/58x45/upload/images/gallery/foto/032013/directory/06.jpg

ここで、imgはコントローラー、sはアクション、58x45のサイズ(トリミングされる)です。

upload / images / gallery / foto / 032013 / directory / 06.jpgは、画像へのパスです。パスは、ファイルがアップロードされているディレクトリに基づいて変更されます。

NGINXは画像に直接アクセスしようとして、404を表示します。

コントローラ/アクションに処理させたいのですが。(画像を切り抜く/保存する/提供する)。

何か案は?

4

1 に答える 1

1

これは、nginx のサーバー ブロックで rewrite を使用することで実現できます。

rewrite   ^/img/s/(\d)+x(\d)+/(.)*$ /imageController/imageController.php?width=$1&height=$2&path=$3 last;

/imageController/imageController.phpこれにより、幅、高さ、パスが変数として渡されたファイルにリダイレクトされます。

于 2013-03-15T12:24:52.247 に答える