我有一个带有网址的路由,可以有一个可选的额外字段。它可以是以下形式之一:
with:
我想使用http rewrite
模块从请求中删除可选部分(时间戳)。所以第二个网址实际上是第一个谎言。
我在regex101上做了一个小测试来获取组,但是: - 它似乎不是nginx的正确语法 - 我没看到它如何允许我删除时间戳
如何从该网址中删除时间戳?
答案 0 :(得分:1)
从右端开始,您需要匹配一个点后跟任何东西
除了一个点,所以我们有(\.[^.]*)$
,然后向左移动,我们想要
匹配一个点后跟只有数字\.[0-9]*
,这是我们不想要的
捕获,然后在我们想要的一切的左边。
我最终得到了类似的东西:
rewrite ^(.*)\.[0-9]*(\.[^.]*)$ $1$2 ;
答案 1 :(得分:0)
利用我的第一次尝试和@meuh回答,我最终得到了以下内容:
rewrite ^(/.*\..*)(\..*)(\..*)$ $1$3 last;
现在它有效,但我欢迎任何有关此重写的风格/效率的评论。