你的問題有點含糊,我不能,如果你告訴想要重定向,重寫或你的nginx配置對/ whatever/mylink來說是什麼樣子。
但是,假設你只是想重定向/不管/(插入號)-mylink到自己的網站,SANS(插入號),以下應該把你在正確的軌道上:
location ~ "^/en/whatever/([0-9]+)-mylink" {
rewrite ^(.*) http://192.168.99.100:8080/en/whatever/mylink;
}
location ~ ^/en/whatever/mylink {
rewrite ^(.*)$ http://www.yahoo.com;
}
我用nginx創建一個Docker容器。我修改了/etc/nginx/conf.d/default.conf文件並添加了這幾行。我的碼頭集裝箱在內部IP上運行,所以你想調整你的。
如果你點擊/無論/(儘可能多的數字,你想要的)-mylink,它會重寫它到mylink,這只是去雅虎。
同樣,你的問題確實含糊不清,但我猜你想要類似的東西。
編輯: 看完你的評論後,看來你需要在你的重寫中捕獲正則表達式參數。你可以通過$ 1做第一個,第二個做$ 2,等等。這裏有一個例子,希望能夠與你的用例更相關。同樣,這只是黑客攻擊default.conf:
location/{
rewrite ^/en/(.*)/(.*)/([0-9]+)-mylink http://192.168.99.100:8080/en/$1/$2/mylink;
root /usr/share/nginx/html;
index index.html index.htm;
}
location ~ ^/en/whatever/whatevs/mylink {
rewrite ^(.*)$ http://www.yahoo.com;
}
如果你旋轉此起來去/ EN /不管/ whatevs/12345-myLink的,你會重定向到雅虎。
對不起,在我的問題和thans你的幫助模糊。我需要的是這些鏈接上的永久重定向。問題是/ en/whatever /子文件夾可能以許多不同的方式命名。不知道我是否解釋我的自我,但/ en/whatever /可能是/ es/cosa /或許多其他正則表達式。所以「mylink」可以是任何其他詞。你能幫我嗎 ?謝謝。 – tictocman
編輯我的答案,顯示如何捕獲$ 1,$ 2等的正則表達式值 – bbuckley123