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

Regex 匹配url并忽略查询字符串的正则表达式,regex,wordpress,plugins,url-redirection,Regex,Wordpress,Plugins,Url Redirection,我已经将我的旧asp.net网站迁移到wordpress,现在我正在尝试优雅地执行301重定向。 我试图通过使用正则表达式和插件来实现这一点 我的源url是 http://example.com/outlets/19-awok?page=2 目标url是http://example.com/shop/awok/ 我想知道店名,而忽略它后面的一切 我的尝试: /outlets/(\d+)-(.*)? => /shop/$2 另一个示例源url如注释中所述,您可以使用否定字符类排除问号:

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

我的源url是

http://example.com/outlets/19-awok?page=2
目标url是
http://example.com/shop/awok/

我想知道店名,而忽略它后面的一切

我的尝试:

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

另一个示例源url

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

/outlets/(\d+)-([^?]+) => /shop/$2
您最初的方法使完整的第二组成为可选的。
如果不需要前导数字,也可以这样做

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

注意后面的
$1
而不是
$2

谢谢你的工作。还有一个问题..有没有办法也忽略查询字符串?例如,我只需要“shop/awok/”