在下面的代码中, index 指令添加page1.htm
到/
请求中。所以我希望http://DOMAIN
与第二个位置块而不是第一个匹配的完全匹配。
index page1.htm;
location = /
{
rewrite / /page2.htm;
}
location = /page1.htm
{
rewrite /page1.htm /page3.htm;
}
但这是第一个匹配的位置。http://DOMAIN
给我page2.htm
,http://DOMAIN/page1.htm
给我page3.htm.
=
前缀启用什么样的精确匹配?
我浏览了很多文档,但我不清楚这里发生了什么。如果第一个位置被删除然后http://DOMAIN
给我page3.htm
所以它似乎在尝试位置匹配之前使用索引。那么在上述情况下,为什么location = /
在应用索引后uri变成了匹配/page1.htm
?
是否先在未应用索引的情况下测试位置,然后仅在不匹配时才在应用索引的情况下再次测试它们?