Nginx将一个pathredirect到另一个path

我确定之前已经问过这个问题,但是我找不到一个可行的解决scheme。

一个网站已经切换CMS服务,但有相同的域,我如何设置一个页面的nginx重写

例如

旧页面

http://sitedomain.co.uk/content/unique-page-name

新页面

http://sitedomain.co.uk/new-name/unique-page-name

请注意 ,我不希望内容页面中的所有内容都被redirect,但实际上只是上面提到的url。 我有大约9个redirect设置,其中不符合一个模式。

谢谢!

编辑:我发现这个解决scheme,似乎工作,除了它没有斜线redirect的事实:

if ( $request_filename ~ content/unique-page-name/ ) { rewrite ^ http://sitedomain.co.uk/new-name/unique-page-name/? permanent; } 

但是这redirect到:

http://sitedomain.co.uknew-name/unique-page-name/

    直接引用陷阱和常见错误:税务重写 :

    通过使用return指令,我们可以完全避免正则expression式的评估。

    请使用return而不是rewrite永久redirect。 这是我的这个用例的方法…

     location = /content/unique-page-name { return 301 /new-name/unique-page-name; } 

    理想情况下,如果可以避免,则不应使用if语句。 像这样的东西可以工作(未经testing)。

     location ~ /content/(.*)$ { rewrite ^ /new-name/$1?$args permanent; } 

    我使用了以下解决scheme:

     rewrite ^(/content/unique-page-name)(.*)$ http://sitedomain.co.uk/new-name/unique-page-name/$2 permanent; 

    作品一种享受。

    对我来说,它没有像这样的等号:

     location /old-url { return 301 /new-url; }