![](/img/trans.png)
[英]How to redirect traffic from one domain to another with Wordpress Redirection Plugin
[英]How to match 2 query strings from one URL for Wordpress Redirection Plugin
我想使用WordPress的“重定向”插件将搜索URL重定向到更干净的URL。
重定向插件的源URL接受正则表达式。
我需要的一个例子:
我需要以下搜索URL:
http://www.danceclass.es/?s=&where=Sydney+%28Australia%29&company_category=pole&cat=pole&search_simple=STEP+3+-+Show+details
重定向到:
http://www.danceclass.es/pole-sydney
但仅在where=Sydney
AND cat=pole
。
正则表达式专家可以帮我将此示例转换为正则表达式代码吗?
我将冲洗并重复不同的where=
AND cat=
由于您需要提取这2个查询参数的值,因此需要2个捕获组。 不过正则表达式也需要处理不同的查询参数顺序即cat
和where
顺序可以不同
这是正则表达式
https://regex101.com/r/gP9pZ0/1
您可以使用捕获的组来形成新的url,例如使用sed
命令的示例:
$sed -r 's@^.*where=([a-zA-Z]*).*cat=([^&]*).*|.*cat=([^&]*).*where=([a-zA-Z]*).*$@http://www\.danceclass\.es/\2\3-\1\4@'
http://www.danceclass.es/?s=&where=Sydney+%28Australia%29&company_category=pole&cat=pole&search_simple=STEP+3+-+Show+details
http://www.danceclass.es/pole-Sydney
http://www.danceclass.es/?s=&company_category=pole&cat=pole&search_simple=STEP+3+-+Show+details&where=Sydney+%28Australia%29
http://www.danceclass.es/pole-Sydney
$
一旦您确定了最终URL,就可以将字符串变为小写形式以满足您的答案。 给sed的2个输入具有不同的顺序,即第一个URL的where
cat
,第二个URL的顺序相反
无需迭代不同的值,您可以按照正则表达式中提到的有效字符进行匹配,即:
cat=[^&]
cat值会给您每个字符,直到找不到&
where=[a-zA-Z]
如果值是大写/小写字符,则其中的值将为您提供每个字符
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.