2015-10-02 49 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