Nginx
nginx - 301 重定向 /subfolder1/some-friendly-url-12345 到 /subfolder2/some-friendly-url
我是 nginx 的新手。
我有一些舊網址,例如***/aaaaa/some-friendly-url-12345***,我想 301 將這些網址重定向到新網址,但沒有 ID,例如***/bbbbb/some-friendly-url***。
我還想將***/aaaaa/重定向到/bbbbb/***
我嘗試了一些位置指令,但我無法以某種方式成功。
這是我嘗試過的一種:
location ~ /aaaaa/(?P<a_slug>.*)$-(?P<a_id>.*) { return 301 https://domain.com/bbbbb/$a_slug; }
謝謝。
如果將 移到
$
末尾,則正則表達式應該適用於有限的情況。可以通過使最終術語僅匹配數字來改進它(因此您不依賴於第一次擷取的貪婪)。例如:location ~ ^/aaaaa/(?<a_slug>.*)-\d+$ { return 301 /bbbbb/$a_slug; }
也可以使用
rewrite
表達式重寫:rewrite ^/aaaaa/(.*)-\d+$ /bbbbb/$1 permanent;
有關更多資訊,請參閱此文件。此外,此資源用於正則表達式。