我在 nginx 中配置了一个网站,配置如下所示。当我访问http://mydomain.com/显示的是属于我默认位置的index.html文件。
然而当我访问http://mydomain.com/micro-site/nginx默认显示404页面,为什么微站位置配置被忽略了?
server {
listen 80;
location /micro-site/ {
root /var/www/microsite/;
index index.html index.htm;
}
location / {
root /var/www/webroot/;
index index.html index.htm;
}
}
检查错误日志显示:
如果我保留根 / 位置,那么它会在 /var/www/webroot/microsite 内查找微网站位置。
如果我删除 / 位置,那么它会在 /etc/nginx/html/ 中查找
我不确定 /etc/nginx/html/ 来自哪里。
答案1
我建议使用指令alias
而不是root
位置micro-site
另外,似乎你使用了一些陷阱(主要是多个相同的index
指令)。
因此最终你的设置将如下所示:
server {
listen 80;
index index.html index.htm;
location /micro-site/ {
alias /var/www/microsite/;
}
location / {
root /var/www/webroot/;
}
}
附言:注意额外的内容/
,location /micro-site/
检查它是否真的是你需要的。也许你会想删除这个额外的内容/