如何执行Nginx重写以进行端点重写

时间:2019-06-09 22:29:13

标签: regex nginx

如何编写nginx重写以执行以下操作:

https://anydomain.com/v1/article-> https://anydomain.com/v1/index.cfm/?endpoint=/article

此处“ anydomain.com/v1/”可以是任何值。

还可以允许我再添加一个:

https://anydomain.com/services-> https://anydomain.com/?id=services

..其中“ https://anydomain.com”可能是任何东西,所以可能是:

tomatoes.com/plants-> Tomatos.com/?id=plants

真的在正则表达式上苦苦挣扎,所以任何帮助都非常感谢! =)

1 个答案:

答案 0 :(得分:1)

我们可以以如下表达式开头:

(https?:\/\/(www\.)?anydomain\.com\/v1\/)(.+)

问题的第一部分。

Demo 1

对于第二个,我们可以开始:

(https?:\/\/(www\.)?anydomain\.com\/)(services)

Demo 2

如果domain可以是任何东西,我们将其简化为:

(https?:\/\/(www\.)?.+\.com\/)(services)

Demo 3

或者:

(https?:\/\/(www\.)?.+\.com\/v1\/)(.+)

Demo 4

,我们将继续找出适合的表达式,以实现我们期望的目标/输出。

RegEx电路

jex.im可视化正则表达式:

enter image description here