【问题标题】:Redirect Regex for URLs重定向 URL 的正则表达式
【发布时间】:2020-03-28 16:08:32
【问题描述】:

我有一个 Wordpress 网站,我想根据特定条件重定向流量。我正在使用一个重定向插件,它有一个源 URL(可以是正则表达式)和一个可以包含正则表达式结果的目标 URL,例如 $1。

/blog/{slug} 应该重定向到/{slug},但前提是{slug} 不是?page=page/{anything}

所以/blog/the-article-name 将重定向到/the-article-name,但/blog/?page=3 不会重定向,/blog/page/3 不会重定向。

另外,/blog/category/{slug} 应该重定向到/{slug}

谢谢

【问题讨论】:

  • 你使用的是 nginx 还是 apache 还是什么?
  • 我实际上使用了一个重定向插件,它允许在一个字段中使用正则表达式,然后在另一个字段中使用结果。例如:源地址为event/category/(.*),目标地址为/event/$1
  • 或者,那是什么环境? PHP?
  • 它是 PHP,但这是一个带有重定向插件的 Wordpress 站点。

标签: regex wordpress url redirect


【解决方案1】:

经过反复试验,我终于弄明白了:

^/blog\/(?!.*(page\/.*|\?paged=))+(.+)

我可以使用/$2 访问第二场比赛(蛞蝓)

https://example.com/blog/the-article-slug 将匹配组 2 并重定向到 https://example.com/the-article-slug

https://example.com/blog/page/2 与第 2 组不匹配 https://example.com/blog/?paged=2 与第 2 组不匹配

我正在使用另一个重定向规则 ^/blog/category/(.*) 来匹配我可以使用 /$1 访问的 slug

https://example.com/blog/category/the-article-slug 将匹配组 1 并重定向到 https://example.com/the-article-slug

希望这对其他人有帮助

【讨论】:

    猜你喜欢
    • 2017-01-05
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 2012-03-31
    • 2016-05-14
    • 1970-01-01
    • 2015-10-02
    • 2015-03-19
    相关资源
    最近更新 更多