正则表达式匹配url并忽略查询字符串

时间:2017-04-05 14:52:14

标签: regex wordpress plugins url-redirection

我已将旧的asp.net网站迁移到wordpress,现在我正在尝试优雅地进行301重定向。 我试图通过使用this插件的正则表达式来实现。

我的源网址是

http://example.com/outlets/19-awok?page=2

目标网址为http://example.com/shop/awok/

我想获得商店名称并忽略其后的所有其他内容

我的尝试:

/outlets/(\d+)-(.*)? => /shop/$2

另一个示例源网址http://example.com/outlets/105-big-bazar?page=453

1 个答案:

答案 0 :(得分:1)

如评论中所述,您可以使用否定字符类排除问号:

/outlets/(\d+)-([^?]+) => /shop/$2

您的初始方法使完整的第二组可选。

<小时/> 如果您不需要前导数字,您也可以执行

/outlets/[-\d]+([^?]+) => /shop/$1

在后者中注意$1而不是$2