在nginx上添加应用程序的上下文路径

时间:2017-08-31 12:45:49

标签: nginx nginx-location

Nginx服务器从根目录到根URL的所有静态内容。例如,如果根内容位置配置为包含文件/usr/share/nginx/html的{​​{1}},则网址/usr/share/nginx/html/foo.html将提供该html文件。我想在URL中为上下文路径添加前缀,以便http://localhost/foo.html应该提供http://localhost/myapp/foo.html文件。

我尝试更改位置并添加别名,但这会产生404。

/usr/share/nginx/html/foo.html

我还希望 location / { root /usr/share/nginx/html; index index.html index.htm; } location /myapp/ { alias /usr/share/nginx/html/; } 应该投放http://localhost/myapp

我正在使用nginx' s /usr/share/nginx/html/index.html泊坞窗图片

1 个答案:

答案 0 :(得分:1)

试试这个

  index  index.html index.htm;
  location / {
    root   /usr/share/nginx/html;
  }

  location /myapp/ {
    alias   /usr/share/nginx/html/;
  }

如果不起作用,请尝试以下

  index  index.html index.htm;
  location / {
    root   /usr/share/nginx/html;
  }

  location /myapp/ {
    alias   /usr/share/nginx/html/;
    try_files $uri $uri/ =404;
  }

修改-1

如果你希望它在没有尾随的情况下工作,那么你应该使用下面的

location ~ /app(/.*)?$ {
   alias   /usr/share/nginx/html/;
   try_files $uri $uri/ =404;
}