如何缩短这个nginx try_files配置?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何缩短这个nginx try_files配置?相关的知识,希望对你有一定的参考价值。
我有一个nginx配置如下:
location / {
index home.html index.html;
}
location ~ ^/t/(.*)/(.*)/index {
try_files $uri $uri/ /t/$1/$2/index.html;
}
location ~ ^/t/(.*)/(.*)/(.*)/(.*)/(.*)/ {
try_files $uri $uri/ /t/$1/$2/index.html;
}
location ~ ^/t/(.*)/(.*)/(.*)/(.*)/ {
try_files $uri $uri/ /t/$1/$2/index.html;
}
location ~ ^/t/(.*)/(.*)/(.*)/ {
try_files $uri $uri/ /t/$1/$2/index.html;
}
location ~ ^/t/(.*)/(.*)/ {
try_files $uri $uri/ /t/$1/$2/index.html;
}
这有可能缩短到1或2个部分吗?谢谢!
答案
正则表达式位置块用于捕获/t/
路径元素后面的前两个路径元素,并在相同的try_files
语句中使用它们。
你可以通过限制捕获范围来减少贪婪(例如(.*?)
)或者用字符类(例如/
)排除([^/]+)
分隔符来实现相同的功能。
例如:
location ~ ^/t/([^/]+)/([^/]+)/ {
try_files $uri $uri/ /t/$1/$2/index.html;
}
有关更多信息,请参阅this document。
以上是关于如何缩短这个nginx try_files配置?的主要内容,如果未能解决你的问题,请参考以下文章
nginx process = 404 如何在try_files中回退