正则表达式将变量附加到URL

时间:2017-05-13 21:20:34

标签: php regex wordpress

我现在使用Redirection插件在WordPress网站上有一个正则表达式:

来源网址: ^/video/(.+)

目标网址: /video/$1

而且工作正常。现在,我需要将?filter=views添加到目标网址的末尾,但我似乎无法找到方法。

所需的重定向是:

site.com/video/video-category-namesite.com/video/video-category-name?filter=views

当我只需要添加一次变量时,添加/video/$1?filter=views作为目标网址会添加多个?filter=views

任何可以帮助我的人?谢谢!

1 个答案:

答案 0 :(得分:0)

您应该使用

排除多个重定向

来源网址:^/video/([^?]+)

目标网址:/video/$1?filter=views

<强>解释

如果源网址为^/video/(.+),那么(.+)将匹配/video/之后的任何内容,包括首次重定向后的内容:

/test匹配.+ =&gt;重定向到/video/test?filter=views

/test?filter=views匹配.+ =&gt;重定向到/video/test?filter=views?filter=views

......等等。

如果您在?之后允许除/video/以外的任何字符,则重定向会立即停止,因为/video/$1?filter=views不再与源网址匹配