如何在我的nginx配置的位置路径中使用RegExp ?



我有一个导航路线,看起来像:

/book/bookname-1234/

我有一个API路由来购买这本书:

/book/1234/purchase

对于导航路由,我希望我的Nextjs服务器处理它,但我希望API路由由我们的python服务器处理。

在我的nginx配置中,我已经定义了Nextjs路由,并将其全部用于python。

对于导航路径,我将其设置为:

location ~ /book/^[a-z]+(?:-[0-9]+)$ {
try_files $uri @nextjs;
}

我也试过在"/book/^[a-z]+(?:-[0-9]+)$"

周围加双引号我在这里做错了什么?

要匹配url,您可以使用:

/book/[a-z]+-[0-9]+/$

如果要重用捕获组的值,可以使用2个捕获组

注意,在示例字符串中有一个结束的/,使用^表示字符串的结束。

/book/a-z]+-[0-9]+/$

Regex演示

那么你可以使用后面跟着单词purchase的两个捕获组来获得/book/1234/purchase

最新更新