[英]Regex to exclude varying part of a URL in redirection
我希望在 WordPress 安装上重定向图像,如下所示:
从:
https://example.com/uploads/folder/123/image.jpg
https://example.com/uploads/folder/123/image-small.jpg
https://example.com/uploads/folder/123/image-medium.jpg
https://example.com/uploads/folder/123/image-large.jpg
到一个独特的:
https://example.com/wp-content/uploads/image.jpg
目标是让所有变体(普通、小型、中型和大型)从旧文件夹重定向到新文件夹中的唯一图像。 我已经能够通过Redirection plugin实现这一点,使用一系列正则表达式:
/uploads/folder/\d{1,3}/(.*).jpg
/wp-content/uploads/$1.jpg
/uploads/folder/\d{1,3}/(.*)-small(.*)
/wp-content/uploads/$1$2
/uploads/folder/\d{1,3}/(.*)-medium(.*)
/wp-content/uploads/$1$2
/uploads/folder/\d{1,3}/(.*)-large(.*)
/wp-content/uploads/$1$2
但这似乎效率不高,我想用一个正则表达式来统治它们……
我尝试了不同的方法在一个正则表达式中统一所有案例,但无法做到(我发现的排除方法不允许我通过$1
和$2
来正确重写 URL)。 我知道这可能是非常基本的,但如果有人能指出我正确的方向,我将不胜感激。
这可能有效:
/uploads/folder/\d{1,3}/(.*?)(?:-small|-medium|-large)?(\.\w+)
/wp-content/uploads/$1$2
请注意.
在正则表达式中表示任何字符,并且正则表达式量词默认是贪婪的(例如,尽可能匹配)。 因此,拥有.*
通常会带来麻烦。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.