如何使用NGINX构建此301 Permanently Moved规则?

时间:2013-02-14 09:56:45

标签: nginx

我动态生成的网页网址过去是这样的:

http://domain.tld/folder/dynamic_label_1/dynamic_label_2/the_rest_...

现在,所有页面都移至:

http://domain.tld/folder/dynamic_label_2-dynamic_label_1/the_rest_...

注意:这些页面的最后一部分是可选的> the_rest_ ..意思是,在 dynamic_label_2-dynamic_label_1 /

之后并不总是有什么东西

我是Nginx的新手,无法弄清楚如何设置此重定向规则。

我的问题是:

这里nginx服务器的重定向规则是什么?

谢谢。

2 个答案:

答案 0 :(得分:2)

在这里,应该这样做 -

rewrite  ^/folder/(\w+)/(\w+)(.*)$  /folder/$2-$1$3  break;

我假设\w对您的dynamic_label来说足够了。如果没有,请随意在(\w+)括号内添加字符。

答案 1 :(得分:1)

以下重写将插入虚拟主机 location (或 server

rewrite ^/folder/dynamic_label_1/dynamic_label_2(.*)$  /folder/dynamic_label_2-dynamic_label_1$1  break;

根据评论进行编辑

rewrite ^/folder/([^/]+)/([^/]+)(/.*)?$  /folder/$2-$1$3  break;

可选部分(包括可选的引导/)位于$3