Centos

是否可以將第二個文件夾“添加”到目前文件夾文件內容?符號連結?

  • April 15, 2019

問題:是否可以將第二個文件夾的內容“添加”到目前文件夾文件內容中?(本質上我是從一個完整的 Unix 角度來詢問的,但可能 nginx 也可以工作,因為目標是用於 Web 伺服器)

例子:

我有/pub我們的伺服器軟體所在的位置。它有index.php 但我也有生活的/static/files地方test.php。我不想test.php放在/pub. 我想要的是,如果我使用 root 訪問 nginx 網路伺服器/pub,它會在 root 中看到兩者test.php and index.php

為什麼?

因為現在我已經向我們的伺服器添加了很多需要存在於根目錄中的驗證文件。bing_dfsfsfsdfs.htmlgoogle_aaddasdjsad.html. _ 這是一個多伺服器設置,因此文件數量很多。我正在考慮創建一個文件夾/static/files,我可以在其中儲存所有這些單個文件……並/pub僅使用軟體保持文件夾清潔。

純粹從 nginx 的角度來看,這似乎是try_files. 使用try_files,您可以告訴 nginx 為給定的 URI 嘗試多個位置。所以像:

location ~ ^/([^/]+)$ {
 try_files $uri /static/files/$1 =404;
}

我不確定要使用的確切語法,但關鍵是告訴 nginx 首先嘗試文件的預設根目錄,然後在static/files根目錄中嘗試,如果沒有任何效果,最後返回 404。

您可以使用alias

http://nginx.org/en/docs/http/ngx_http_core_module.html#alias

定義指定位置的替換。

location ~ ^/(.+\.(?:gif|jpe?g|png))$ {
   alias /static/files/$1;
}

引用自:https://unix.stackexchange.com/questions/512075