私は今日、nginx の書き換えに頭を悩ませようとしてきました。ここでいくつかの質問/回答を読み、出会ったいくつかのガイドを徹底的に読みました。
ほとんどのことは非常に自然に思い浮かびますが、おそらく正規表現の形式に慣れていないため、それを理解していません。
nginx ヘッダーを上書きし、ブラウザーに新しいページを開くのではなく、「名前を付けて保存」ダイアログを使用してダウンロードを実行させる download.php スクリプトがあります。
それは完全に機能しますが、スクリプト自体の URL をユーザーから隠したいと思います。
具体的には、この URL を変更したいと思います。
http://www.example.com/scripts/download.php?id=http://www.example.com/images/0/1/fullsize/96698298450ca01a60875e_34.jpg
そのため、ユーザーには単純にid
GET パラメータとして表示されます。
http://www.example.com/images/0/1/fullsize/96698298450ca01a60875e_34.jpg
しかし、私の人生では、それを機能させることはできないようです。
うまくいけば、誰かが救助に来ることができます。前もって感謝します。
編集:
私の質問をさらに明確にするために...理想的な解決策は、私のwebappに次のようなリンクを設定できるようにすることです。
http://www.example.com/images/0/1/fullsize/96698298450ca01a60875e_34.jpg?dl=1
dl=1 があり、かつ /images/ ディレクトリにあることを nginx に認識させ、ダウンロード スクリプトを使用するように書き換えます。
http://www.example.com/scripts/download.php?id=http://www.example.com/images/0/1/fullsize/96698298450ca01a60875e_34.jpg
このように、画像が表示されているだけの場合、スクリプトを通過し、dl=1 パラメータが配置されている場合にのみ、画像が書き換えられ、スクリプトを介してルーティングされます。