regex - 需要帮助为带有查询字符串的 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/ 因为这会导致无限循环。
任何建议都会很棒。非常感谢
解决方案
如果您只需要将page-url替换为page-url-free,并保持查询参数(如果提供)完全相同,则以下正则表达式将起作用:
\/(page-url)(?:\/\?.+)?$
上面的正则表达式将捕获page-url,然后可以根据您使用的内容轻松地将其替换为page-url-free 。
推荐阅读
- azure - Azure 数据工厂复制活动非常缓慢
- dpdk - IGB_UIO 突然崩溃
- python - 如何创建一个执行深度优先搜索的函数,该搜索在找到给定顶点时停止?
- java - 使用 SnakeYAML 或 Jackson 创建自定义 YAML 文件
- java - 为什么它给我一个错误字符串索引超出范围
- java - 如何在 Spring Boot 中使用规范检索特定字段
- php - Laravel 命令重新创建账单
- c++ - 搜索地图
, ...> 具有下限和上限 - java - Java GUI 当我按下 JButton 时如何进行事件?
- gcc - 如何在 glibc 中使用 langinfo.h 功能而不破坏基于 FreeBSD 的系统中的编译?