我正在更改文件结构。以前在站点的根级别可用的一些 url 现在已移至子文件夹。
所以我有一个$uri
. Itry_files $uri @check_subfolder;
如果文件(普通的 .html 文件)仍然存在于根级别,或者它的 url 写入正确,则可以正常try_files $uri
工作。但是如果文件被移动到子文件夹,那么我输入
location @check_subfolder {
}
如果在这里我只是进行重定向rewrite ^(.*) $scheme://$host/articles$1 permanent;
,那么一切仍然是完美的。但我想首先检查子文件夹中是否$uri
真的存在。/articles
所以我愿意
location @check_subfolder {
if (-f "/articles${uri}") {
rewrite ^(.*) $scheme://$host/articles$1 permanent;
}
}
它只是归结为错误 404。不会发生重定向。没有if
重定向工作。所以很明显,我如何制定条件的方式存在问题。
if (-f "/articles${uri}")
不起作用。
if (-f "/articles${request_filename}")
不起作用。
if (-f "/articles/${request_filename}")
不起作用。
if (-f /articles/$request_filename)
不起作用。
if (-f /articles/$uri)
不起作用。
我显然写错了连接。