簡體   English   中英

Nginx 將動態 URL 從一條路徑重定向到另一條路徑

[英]Nginx redirect dynamic URLs one path to another

我想檢查一個參數是否存在於 nginx 的 url 中,然后重寫。 我怎樣才能做到這一點?

URL 中的顏色是動態的

例如

  1. 如果 url 是http://website.com/lunch-box/xxxxxabc則將用戶重定向到http://website.com/lunch-box/

  2. 如果 URL 是http://website.com/lunch-box/xxxxxabc/ABCD123不需要重定向。 需要按原樣加載。

如果 URL 匹配,我想重定向。 xxxxxabc是動態文本。

nginx version: nginx/1.16.1

# rewrite direct children of /lunch-box but not grandchildren+
rewrite  ^(/lunch-box/)[^/]+/?$  $1  last;

遍歷正則表達式^(/lunch-box/)[^/]+/?$

  • ^匹配字符串的開頭( rewrite規則匹配路徑,而不是完整的 URI)
  • (/lunch-box/)匹配文字文本/lunch-box/並將其保存為$1
  • [^/]+匹配一個或多個不是正斜杠的字符
  • /? 匹配零個或一個正斜杠
  • $匹配字符串的結尾

這將去掉我們保存為$1路徑,但前提是該路徑是直接子路徑。

暫無
暫無

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

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