Nginx重写规则删除以下字符

时间:2018-09-25 15:33:37

标签: nginx url-rewriting

我不是重写专家,我对nginx重写规则有疑问,我得到URL:

www.mydomain.com/sales/reference/appartement-2-bedroom-city-miami /

我需要获取最终网址,例如: www.mydomain.com/hello/reference /

所以我需要删除最后2个/之间的所有字符 我需要删除/ apartement-2-bedroom /,并仅替换一个/ 当然,在此示例中,我有/ appartement-2-bedroom-city-miami /,但从不相同,每个URL都不同。

下面我想要很多例子:

www.mydomain.com/sales/ref-458/appartement-2-bedroom-city-miami/必须变为: www.mydomain.com/sales/ref-458 /

其他示例:

www.mydomain.com/sales/ref-455/appartement-3-bedroom-with-terrace-city-miami/必须变为: www.mydomain.com/sales/ref-455 /

请一些帮助。

1 个答案:

答案 0 :(得分:0)

尚不清楚您需要重写的URL有多复杂,但是使用您提供的两个示例,如果将以下内容放置在配置的服务器级别,它将按照您的意思进行操作:

rewrite ^(/sales/ref.+)/(.+) $1/ redirect;

此正则表达式将捕获以/sales/refXXX/开头的所有带有任意数量字符的url,并将其重写以删除/sales/refXXX/之后的所有内容

X可以是任何字符。