質問:現在のフォルダのファイル内容に2番目のフォルダの内容を「追加」できますか? (本質的にUnix全体の観点から要求していますが、ターゲットはWebサーバーであるため、nginxも機能できます。)
例:
/pub
私たちのサーバーソフトウェアがどこにあるかを知っています。しかし、私にもindex.php
住む/static/files
場所がありますtest.php
。私が望むtest.php
のは、/pub
ルートを使用してnginx Webサーバーにアクセスすると、両方がルートで表示できる/pub
ことですtest.php and index.php
。
なぜ?
これは、ルートディレクトリに存在する必要がある多くの検証ファイルをサーバーに追加したためです。bing_dfsfsfsdfs.html
そして他のファイルgoogle_aaddasdjsad.html
。これはマルチサーバー設定なので、ファイル数がかなり多いです。私は/static/files
これらの個々のファイルをすべて保存できるフォルダを作成し、/pub
ソフトウェアを使用してフォルダをきれいに保ちたいと思います。
答え1
純粋にnginxの観点から見ると、これは仕事のようです。try_files
。を使用すると、try_files
nginxに特定のURIに対して複数の場所を試すように指示できます。だからこんな感じ:
location ~ ^/([^/]+)$ {
try_files $uri /static/files/$1 =404;
}
使用する正確な構文はよくわかりませんが、ポイントはnginxに最初にファイルのデフォルトルートを試してから、static/files
ルート内のディレクトリを試して、何も機能しない場合は最後に404を返すように指示することです。
答え2
あなたはそれを使用することができますalias
http://nginx.org/en/docs/http/ngx_http_core_module.html#alias
指定された位置で置換を定義します。
location ~ ^/(.+\.(?:gif|jpe?g|png))$ {
alias /static/files/$1;
}