簡體   English   中英

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

[英]How to use RegExp in a location path on my nginx config?

我有一條導航路線,如下所示:

/book/bookname-1234/

我有一個 API 購買本書的路線:

/book/1234/purchase

對於導航路線,我希望我的 Nextjs 服務器來處理它,但我希望 API 路線由我們的 python 服務器處理。

在我的 nginx 配置中,我定義了 Nextjs 路由,其中的 catchall 指向 python。

對於導航路線,我將其設置為:

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

我也試過在"/book/^[az]+(?:-[0-9]+)$"周圍加上雙引號

我在這里做錯了什么?

要匹配 url,您可以使用:

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

如果要重用捕獲組值,可以使用 2 個捕獲組。

請注意,示例字符串中有一個結尾/ ,使用^表示字符串的結尾。

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

正則表達式演示

然后您可以使用 2 個捕獲組,后跟單詞purchase來獲取/book/1234/purchase

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM