【问题标题】:Regular expression to match url and ignore querystring正则表达式匹配 url 并忽略查询字符串
【发布时间】:2017-08-31 06:35:22
【问题描述】:

我已将旧的 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

【问题讨论】:

    标签: regex wordpress plugins url-redirection


    【解决方案1】:

    正如 cmets 中所说,您可以使用否定字符类排除问号:

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

    您最初的方法使完整的第二组成为可选的。


    如果您不需要前导数字,您也可以这样做
    /outlets/[-\d]+([^?]+) => /shop/$1
    

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

    【讨论】:

    • 谢谢它的工作。还有一个问题..还有什么方法可以忽略查询字符串吗?即,我只需要“shop/awok/”
    猜你喜欢
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    相关资源
    最近更新 更多