我希望为我的服务器上的两个不同的文件夹提供子域的根url和子域的目录。这是一个简单的设置,我有,并不是工作…
server {
index index.html index.htm;
server_name test.example.com;
location / {
root /web/test.example.com/www;
}
location /static {
root /web/test.example.com/static;
}
}
在本例中,转到test.example.com/将在/web/test.example.com/www中找到索引文件
访问test.example.com/static会将索引文件放到/web/test.example.com/static
如果你想检查相同URI的两个不同目录,请使用以下配置:
server {
...
root /var/www/my-site/public/;
...
index index.php index.html index.htm;
...
location / {
root /var/www/old-site/dist/;
try_files $uri $uri/ /index.php$is_args$args;
}
...
}
如果Nginx在/var/www/old-site/dist/目录下找不到file,那么它会尝试在/var/www/my-site/public/目录下找file,但是就像我们告诉Nginx要尝试$uri $uri/ index.php$is_args$args模式的文件,所以Nginx会尝试在/var/www/my-site/public/目录下找/index.php$is_args$args。不是美元uri
如果你想要完成你的fallthrough,那么用/fallthrough$uri替换/index.php$is_args$args,然后添加位置/fallthrough{…}使用别名键到目标目录。
https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#root-inside-location-block
如果你想检查相同URI的两个不同目录,请使用以下配置:
server {
...
root /var/www/my-site/public/;
...
index index.php index.html index.htm;
...
location / {
root /var/www/old-site/dist/;
try_files $uri $uri/ /index.php$is_args$args;
}
...
}
如果Nginx在/var/www/old-site/dist/目录下找不到file,那么它会尝试在/var/www/my-site/public/目录下找file,但是就像我们告诉Nginx要尝试$uri $uri/ index.php$is_args$args模式的文件,所以Nginx会尝试在/var/www/my-site/public/目录下找/index.php$is_args$args。不是美元uri
如果你想要完成你的fallthrough,那么用/fallthrough$uri替换/index.php$is_args$args,然后添加位置/fallthrough{…}使用别名键到目标目录。
https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#root-inside-location-block
定位指令系统是
比如你想要转发所有开始/static的请求和你的数据在/var/www/static中
一个简单的方法就是把最后一个文件夹和全路径分开
全路径:/var/www/static
最后路径:/static,第一个路径:/var/www
location <lastPath> {
root <FirstPath>;
}
看看你犯了什么错误,怎么解决
你的错误:
location /static {
root /web/test.example.com/static;
}
你的解决方案:
location /static {
root /web/test.example.com;
}