1
我在我的nginx的配置在以下位置:如何製作正則表達式nginx位置?
server {
listen 80;
server_name localhost;
location ~ ^/(?!api)(.*)/api {
alias /var/www/api/$1;
}
location /api {
alias /var/www/api/latest;
}
我想匹配/ API作爲最新版本,和/ <版本>/API爲別的。非正則表達式的位置工作正常,但我在其他位置得到403。
我不認爲這是什麼做的文件和權限的被服務,因爲我得到一個403,如果我嘗試訪問
/latest/api
即使這些是相同的文件由
/api
有沒有人有想法,爲什麼我得到403?
nginx的錯誤是:
directory index of "/var/www/api/latest" is forbidden, client:
172.17.0.1, server: localhost, request: "HEAD /latest/api/ HTTP/1.1",
host: "localhost"
我不熟悉nginx的CONFIGS,但似乎'/.+/ api'(比賽斜線,一個或多個字符,斜線,API)應該做的事你正在尋找。 – jhscheer
我對它進行了一些研究,看起來,你需要引用你的位置正則表達式。 – jhscheer
謝謝。不是說它不能改進,但正則表達式是匹配的(正如我可以從nginx日誌中看到的那樣)。這似乎是一個nginx問題 –