2016-10-03 14 views
3

私は高低に見え、そのような実装は見つからず、私が試みていることが可能であるかどうか疑問に思っています。2つ以上のルートでtry_filesを使用する方法

Path1: /usr/local/www/style1/static/... 
Path2: /usr/local/www/style2/static/... 
Path3: /usr/local/www/style3/static/... 

3本の異なる根が自らわたし静的ですが、ダウンオン/静的のコンテンツのみが準静的である(正確なファイルによっては少し異なる場合があります:私は、静的なコンテンツを果たす3つの相対パスを持っています1つのパスに存在し、別のパスには存在しない可能性があります)。たとえば、

/static/css/custom.css 
/static/css/form/button.css 
/static/css/form/images/buttondisabled.png 
/static/images/ui/buttons/add_item.png 
/static/images/ui/menu/help.png 

以下は私がしたいことです。基本的には、 "/静的な"コンテンツが要求された場合、path1に関連する相対パスを確認し、見つからなければpath2に関連する相対パスをチェックし、見つからなければpath3に関連する相対パスをチェックします。これはかなりシンプルなようですが、これがどのように行われるかを概説する例は見つかりませんでした。私は多分変数として3種類のルーツを設定できます。

path1root /usr/local/www/style1; 
path2root /usr/local/www/style2; 
path3root /usr/local/www/style3; 

location /static 
{ 
    try_files path1root/$uri path2root/$uri path3root/$uri (=404); 
} 

それとものみ/静的なコンテンツのために必要とされているので、次のようにそれが行われる可能性があります

location /static 
{ 
    path1root /usr/local/www/style1; 
    path2root /usr/local/www/style2; 
    path3root /usr/local/www/style3; 

    try_files path1root/$uri path2root/$uri path3root/$uri (=404); 
} 

それとも私が何をしようとしていますすることができますすべてでさえ行われますか?もし私が3つの根でそれをすることができないならば、全体の根元の基底根としてそれらの1つを定義することなく、ちょうど2つの根で行うことができます。これを行うことが可能であり、正規表現から離れてもよい場合は、それが可能であればよいが、それが必要ならばそれが必要である。あなたが共通のルートを使用してtry_files文で3つのディレクトリを試みることができる

答えて

3

: - 支援への感謝

location /static { 
    root /usr/local/www; 
    try_files /style1$uri /style2$uri /style3$uri =404; 
} 
+0

私はそれは、単純なものだったと私はちょうど私の頭の中でそれを複雑にする上で知っていました – DeJoker

関連する問題