代码之家  ›  专栏  ›  技术社区  ›  ekscrypto

需要在nginx中使用不同根目录的帮助

  •  1
  • ekscrypto  · 技术社区  · 6 年前

    对于一个域,我有一个指向/var/www的站点配置( https://somedomain.com/ )但是我想把一个位置/clientfolder重定向到/home/clientfolder/website/

    我的问题是每当有请求出现时,例如 https://somedomain.com/clientfolder/index.html 守护进程正在/home/clientfolder/website/clientfolder/index.html中查找文件

    所以我尝试使用rewrite指令:

    location /clientfolder {
        rewrite ^/clientfolder/(.*)$ /$1 last;
        root /home/clientfolder/website
    }
    

    但是现在 https://somedomain.com/clientfolder/index.html 在/var/www/index.html处加载文件

    如果/clientfolder位置匹配,是否有其他指令比rewrite允许我从文件路径中删除“clientfolder”?


    最新消息:我设法让它工作,但感觉完全错误:

    location /clientfolder/website {
        root /home;
    }
    location /clientfolder {
        rewrite ^/clientfolder/(.*)$ /clientfolder/website/$1;
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Richard Smith    6 年前

    如果uri以 /clientfolder 位于 /home/clientfolder/website ,您应该使用 alias 指令。

    例如:

    location /clientfolder {
        alias /home/clientfolder/website;
    }
    

    this document 详情。