我的应用程序使用单个Web应用程序(HTML和Javascript)为多个(动态量)系统提供服务。
系统由http://localhost/sites/<system-id>
之类的URL区分,其中system-id
仅允许小写字母。
假设该Web应用位于/opt/myapp
中。如何在Nginx中进行配置?
我尝试了以下方法,但没有用。
location ~ /sites/[a-z]+ {
alias /opt/myapp;
index index.html index.htm;
}
输入http://localhost/sites/abc/
,得到403 forbidden
。
输入http://localhost/sites/abc/index.html
,仍然输入403 forbidden
,URL自动更改为http://localhost/sites/abc/index.html/
与location ~ /sites/[a-z]+/ {}
相同的结果
我尝试过
location ~ /sites/[a-z]+ {
alias /opt/myapp/;
index index.html index.htm;
}
输入http://localhost/sites/abc
,URL重定向到http://localhost/sites/abc/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/
答案 0 :(得分:1)
正则表达式中的alias
指令 location
必须形成文件的完整路径。
例如:
location ~ ^/sites/[a-z]+(/.*)?$ {
alias /opt/myapp$1;
index index.html index.htm;
}
有关详细信息,请参见this document。