Nginx:如何仅重写特定目录的URL

时间:2019-01-18 15:56:08

标签: nginx nginx-location nginx-reverse-proxy nginx-config

我正在使用nginx进行反向代理。我正在使用别名重写目录。在我的别名目录中,我有使用html5路由的Angular 2构建文件。因此,当用户刷新页面时,它应该只重写到该目录中存在的index.html。

控制面板被别名覆盖”

我已经尝试过“ try_files $ uri $ uri / /index.html = 404;” 但这是指主目录中的index.html。

我也试图给出绝对路径,但是仍然没有用。

server {
    listen 80;
    server_name xx.xxx.xx.xxx;
    location / {
        proxy_pass http://localhost:4000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
    location /control-panel {
        alias /var/www/html/soundoff-admin-dev/dist;
        # here rewrite should override with index.html inside "dist" directory
     }
}

1 个答案:

答案 0 :(得分:0)

https://stackoverflow.com/a/50863128/1264360借来的

尝试,

 location /control-panel {
    root /var/www/html/soundoff-admin-dev/dist;
    try_files $uri $uri/ /control-panel/index.html;
 }