web-dev-qa-db-ja.com

nginxの画像URLを短縮URLから特定のディレクトリに書き換える

Nginx/1.4.6(Ubuntu)で画像提供アプリケーションを使用していますが、Apache2用に作成されました。画像はディレクトリ「/ imageshare/images/extension /」にアップロードされ、ファイル名はランダムに生成されますが、アプリケーションによって出力されるURLは短縮され、domain.tld/image/filenameに配置されます。

アプリケーションメンテナーは、Apache2の.htaccessに関するアドバイスを提供しますが、Nginxのヘルプを提供できないと言います。これらのファイルの場所を変更せずに、同じドメイン上の別のURLに画像をリダイレクトするために、Nginx構成ファイルに何を入れることができますか?

3
daily001

URL domain.tld/image/filenameをローカルパス/imageshare/images/extension/filenameにリダイレクトするには、aliasディレクティブを使用します(詳細については this を参照)。

location /image/ {
    alias /path/to/imageshare/images/extension/;
}

URLを別のURLにrewrite本当に意味する場合は、次を使用します。

location /image/ {
    rewrite ^/image(.*)$ /imageshare/images/extension$1 last;
}

詳細については、 this を参照してください。 last修飾子により、書き換えはinternalになります。これは、クライアントがそれを認識しないことを意味します。 redirectまたはpermanentを使用して、クライアントにリダイレクトを表示します。

4
Richard Smith