在 Chrome 中当我输入https://www.example.com/robots.txt我的robots.txt
文件已送达,运行良好。我很高兴它能正常工作,但我不知道为什么会这样。
在下面的配置中,我认为我的最后一个location
块location /
是一个万能的块,它将尝试处理每个与上面的块中的正则表达式不匹配的文件请求location
。实际上,我使用此块通过我的 node.js / Express 服务器提供文件。
我没有包含一个location ~* \.(txt)$
块,因此我以为location /
它会自动向robots.txt
node.js 发送请求,但结果却抛出了错误或无法传递文件。令我惊讶的是,这个设置运行正常。为什么会这样?
server {
include conf.d/listen-443;
server_name www.example.com;
root /srv/example/views/public;
location ~* \.(jpg|png|svg|webp|ico)$ {
}
location ~* \.(css)$ {
}
location ~* \.(html)$ {
}
location ~* \.(js)$ {
}
location / {
proxy_pass http://127.0.0.1:8080;
}
}