are*_*res 3 nginx nginx-location
Nginx 负责从根目录到根 URL 的所有静态内容。例如,如果根内容位置配置为/usr/share/nginx/html包含文件/usr/share/nginx/html/foo.html,则 urlhttp://localhost/foo.html将提供该 html 文件。我想在 URL 中添加上下文路径前缀,以便为文件http://localhost/myapp/foo.html提供服务。/usr/share/nginx/html/foo.html
我尝试更改位置并添加别名,但这给出了 404。
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /myapp/ {
alias /usr/share/nginx/html/;
}
Run Code Online (Sandbox Code Playgroud)
我也希望那http://localhost/myapp应该服务/usr/share/nginx/html/index.html
我正在使用 nginx 的1.12.1-alpinedocker 镜像
尝试这个
index index.html index.htm;
location / {
root /usr/share/nginx/html;
}
location /myapp/ {
alias /usr/share/nginx/html/;
}
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请尝试以下操作
index index.html index.htm;
location / {
root /usr/share/nginx/html;
}
location /myapp/ {
alias /usr/share/nginx/html/;
try_files $uri $uri/ =404;
}
Run Code Online (Sandbox Code Playgroud)
编辑-1
如果你希望它在没有尾随 / 的情况下工作,那么你应该使用下面的
location ~ /app(/.*)?$ {
alias /usr/share/nginx/html/;
try_files $uri $uri/ =404;
}
Run Code Online (Sandbox Code Playgroud)