Iは、(例:test.com)ウェブサイト有し、サブドメインの2種類がありますnginxを設定するには、いくつかのサブドメインはjs/cssファイルしか訪問できませんか?
- test.com
- 静的_ $ {バージョン} .test.com
1番目はメインサブドメインで、2番目は静的ファイル(js/css/image)のみに使用されます。 ${version}
はバージョン番号で、js/css/imagesファイルの新しいバージョンがあると変更されます。クライアントが古いものをキャッシュする可能性があるので、必要です。
ここではnginxを使用しますが、サブドメインについては設定しません。すべてのサブドメインをメインのtest.com
ドメインに書き換えるだけです。
それは動作しますが、ある日私は検索エンジンを見つけました。static.test.com
をメインドメインとして使用して私のサイトにアクセスします。
static.test.com
に静的ファイルしかアクセスできないようにするには、どのようにnginxを設定しますか?メインドメインはすべてを訪問できますか?
UPDATE
私はJS/CSS /画像をstatic.test.com
の要求がtest.com
に、いないディスクの静的ファイルに書き換えることを願っています。他のリクエスト(js/css/imagesではなく)は404
を直接返します。 Timofey Stolbov's answerため
おかげで、私は今コンフィグ書き込み:私のJS/CSS /画像ファイルので
server {
listen 80;
server_name ~^static_(.*)\.test\.com$;
set $version $1;
rewrite ^/public/(.*) http://test.com/public/$1?v=$version last;
return 404;
}
をすべて「パブリック」ディレクトリ内にあるので、それが「公共」で始まる場合、私はちょうどチェック。そうでない場合は、ちょうど404を返す
しかし、私はそれが正しいかどうか、特にreturn 404
がわからない、またはこれを行うためのよりよい方法があります。
回答が更新されました。 –