首页 > 解决方案 > 需要帮助为带有查询字符串的 URL 创建正则表达式重定向

问题描述

问题是在使用 infusionsoft 或其他电子邮件平台时,当在电子邮件中使用 URL 时,它会将查询字符串添加到 URL。如果该 URL 被重定向,它将无法正确重定向并附加查询字符串,从而将用户发送到 404 页面。

我试图弄清楚如何正确创建正则表达式以重定向页面并捕获附加到它的查询以便正确重定向。

我想我已经想出了如何做到这一点,但随后需要弄清楚如何排除具有相同开头文本的 URL ...

例如:如果原来的url是:/page-url/
并且需要重定向到/page-url-free/

所以这些版本需要重定向:
/page-url
/page-url/
/page-url/?inf_contact_key=474a03f754bb3dadf5415b3b652fc7baa6979sf0112d3fe

但是我需要正则表达式来不捕获 /page-url-free/ 因为这会导致无限循环。

任何建议都会很棒。非常感谢

标签: regexurl-redirection

解决方案


如果您只需要将page-url替换为page-url-free,并保持查询参数(如果提供)完全相同,则以下正则表达式将起作用:

\/(page-url)(?:\/\?.+)?$

上面的正则表达式将捕获page-url,然后可以根据您使用的内容轻松地将其替换为page-url-free 。


推荐阅读