我有这个网址:
https://example.com/admin/catalog/product/view/id/45533/?___store=en_us&sendAttributionID=email_automation_5ffa6c5967af4527508858fb&ContactID=5f9d9eac1215fsdfsdfasdffsdfsdf04ff6c98af
我需要使用 nginx 将其重定向到:
https://example.com/catalog/product/view/id/45533/?___store=el_gr&sendAttributionID=email_automation_5ffa6c5967af4527508858fb&ContactID=5f9d9eac1215fsdfsdfasdffsdfsdf04ff6c98af
事实上我需要从第一个链接:删除
admin
并替换:
en_us
和:
el_gr
我现在有这个正则表达式:
rewrite ^/admin/(.*)$ https://example.com/$1 permanent;
从而消除了行政单词。但我不知道如何替换
en_us
经过 UML 的帮助我现在处于:
rewrite ^/admin/(.*?)en_us(.*?)$ https://example.com/$1el_gr$2 permanent;
在 Online Regex 中有效,但在 nginx 中无效
请问有什么帮助吗?
答案1
已编辑
我首先想到的是,只需改变正则表达式就可以了,如下所示:
rewrite ^/admin/(.*?)___store=en_us(.*)$ https://example.com/$1___store=el_gr$2 permanent;
但是,由于重写匹配只对“文件名”部分起作用(最多?),所以它不起作用。需要其他一些技术。