【Nginx】配置俩前端,指定路径的时候报错的原因

PythonNew_Mr.Wang / 2023-05-03 / 原文

# NGINX 配置文件

listen 80; server_name XX.XX.XX.XX ;    index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/uniapp/h5/; # root指令会在根目录查找index.html location /admin { index index.php index.html index.htm default.php default.htm default.html; alias /www/wwwroot/uniapp_admin/; # 这里要区分root跟alias的区别 }

alias 和 root 都是在 Nginx 中用于指定静态文件资源的根目录,但是它们有一些不同之处。

root 指令用于指定 Nginx 服务器的默认根目录,也就是所有请求的资源都相对于这个根目录来访问和处理。例如,如果你将 root 设置为 /var/www/html,那么针对 http://example.com 这个域名的请求,Nginx 将会在 /var/www/html 目录下查找对应的资源文件。

alias 指令也用于指定静态文件资源所在的根目录,但是它与 root 的主要不同之处在于,alias 可以将 URI 映射到一个不同的本地路径中,而不是直接拼接在指定的根目录后面。这意味着 alias 可以实现一些比较灵活的目录映射,可以将URI映射到任何指定的目录下。

举个例子,假设我们有一个名为 /var/www/html/myapp 的目录作为一个单独的网站,我们想要将所有以 /myapp 开头的 URI 映射到这个目录下。在这种情况下,我们可以使用如下的配置:

location /myapp/ {
    alias /var/www/html/myapp/;
    index index.html;
}

这样在浏览器中访问 http://example.com/myapp/index.html 时,Nginx 将会在 /var/www/html/myapp/ 目录下查找对应的 index.html 文件。