讓我留下一個站點,https://www.example.com
我希望 Nginx 將所有請求重定向到我的站點,其中包含/rss/我在地址處擁有的服務器127.0.0.1:4003,附加/api/v1和原始請求中傳遞的整個路徑。
例如,請求https://www.example.com/en/rss/blog將轉到http://127.0.0.1/api/v1/en/rss/blog.
我嘗試使用location,將 url 與正則運算式匹配:
location ~ ^.*\b(\/rss\/)\b.*$ {
rewrite ^.*\b(\/rss\/)\b.*$ /api/v1$1 break;
proxy_pass http://127.0.0.1:3007;
}
重定向有效,但沒有附加路徑,因為我收到Cannot GET /api/v1/rss/了回應。
這是我想的正則運算式的一個問題,它應該捕獲整個路徑而不是/rss/僅僅;但如何?
歡迎任何想法!
uj5u.com熱心網友回復:
單詞邊界構造取決于背景關系,在 的情況下\b\/rss\/\b,模式只會在/s 前面/后面帶有單詞字符(即字母、數字或.)時匹配_。
在你的情況下,正則運算式應該看起來像
location ~ .*(/rss/.*)
location ~ (/rss/.*)
IE
.*- 匹配除換行符以外的任何文本(/rss/.*)- 第 1 組 ($1):/rss字串,然后是除換行符以外的任何文本
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/430379.html
