2015-10-02 89 views

回答

0

你的問題有點含糊,我不能,如果你告訴想要重定向,重寫或你的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的,你會重定向到雅虎。

+0

對不起,在我的問題和thans你的幫助模糊。我需要的是這些鏈接上的永久重定向。問題是/ en/whatever /子文件夾可能以許多不同的方式命名。不知道我是否解釋我的自我,但/ en/whatever /可能是/ es/cosa /或許多其他正則表達式。所以「mylink」可以是任何其他詞。你能幫我嗎 ?謝謝。 – tictocman

+0

編輯我的答案,顯示如何捕獲$ 1,$ 2等的正則表達式值 – bbuckley123