我在目录“/var/www/something”中有各种文件。我的 nginx 服务器的正常根目录是“/var/www/html”。
现在我只想提供文件“/var/www/something/file.exp”作为http://someserver.org/ecos/file.exp。
我当前的配置使用类似这样的内容:
location =/ecos/file.exp {
rewrite '^/ecos/(.*)$' '/$1' last;
root /var/www/something;
}
,但它不起作用。
我究竟做错了什么?
答案1
您必须调整重写以使用break
,而不是last
:
位置 = /ecos/file.exp {最后重写 '^/ecos/(.*)$' '/$1'休息; 根目录/var/www/某物; }
据我了解:
使用break
,服务器将使用当前位置的根目录查找文件:
位置 = /ecos/file.exp { ... 根目录/var/www/某物; }
使用last
,服务器将继续处理并使用重写的位置:
位置 = / { ... 根/一些/其他/根; }