我网站上的正则表达式特定问题和搜索功能处理断开的链接

Regex specific question and search function on my website dealing with broken links

我一直在努力找出我的正则表达式模式,但它似乎对我不起作用。

这是我正在尝试做的事情:

如果有人不小心访问了这样的页面,我的网站上的链接就会失效: https://example.com/catalogsearch/result/?q= 要么 https://example.com/catalogsearch/result/

所以我将他们重定向回我的主页。现在的问题是搜索只是将所有内容发送回主页。所以我假设如果 equals 后面有东西需要继续搜索..显然 https://example.com/catalogsearch/result/?q=person 但目前我无法弄清楚..

这是我的正则表达式,我已经弄乱了很长一段时间了......似乎仍然是错误的,或者我的搜索有其他问题。

"^/catalogsearch/result((/)|(/\?)|(/\?[a-z])|(/\?[a-z]=))?$"

请原谅我,我的正则表达式很糟糕。

经过大量讨论,得出的结论是 routes.yaml 会将 url 路径视为有效路由,而不是查询字符串部分。因此,在 post 中的两个示例中,您可以使用

"/catalogsearch/result": { to: "https://example.com/", prefix: false }

对于其他的,请在 nginx 配置中将其更改为重定向到主页,或者如果不可能,请咨询 magento 支持人员,了解如何将查询字符串部分合并到 routes.yaml 文件中。