在/GET-cache/contact.html
上有一个文件,并用这个指令请求URI /contact
,它按预期工作:
if (-f $document_root/$request_method-cache$uri.html) { rewrite (.*) /GET-cache/$1.html break; }
这一个不:
try_files $request_method-cache$uri.html @backend;
在try_files
指令中使用$document_root
也不起作用(当我说它不起作用的时候,请求被传递到后端而不是nginx服务静态文件)。
我错过了什么吗?
我认为这只是一个不以正斜杠开始检查的问题。 尝试这个:
try_files /$request_method-cache$uri.html @backend;
Nginx将每个参数应用于根指令的try_files。 所以如果你的根目录是/var/www
那么它会检查var/wwwGET-cache/foo.html