我选择了配置多个location。
location /pc/ {
root /data/html/pc/;
index index.html index.html;
}
location /h5/ {
root /data/html/h5/;
index index.html index.htm;
}
配置完以后访问。http://xxxx/pc/index.html 提示404
找了好久才搞明白,
访问 http://xxxx/pc/index.html
匹配的是第一个 location,返回的文件是 /data/html/pc/pc/index.html
而我的文件系统没有这个文件自然找不到了
有两种解决方案
一、root 目录修改
取消root 目录的重复值
location /pc/ {
root /data/html/;
index index.html index.html;
}
二、root 改成 alias
location如果一个特定的url 要使用别名,不能用root,alias指定的目录是准确的,root是指定目录的上级目录,改动后即可以使用了
location /pc/ {
alias /data/html/pc/;
index index.html index.htm;
}