问题描述
我一直在尝试找出我的正则表达式模式,但它似乎不适用于我。
这就是我想要做的:
如果有人不小心进入了这样的页面,我的网站上的链接就会断开: https://example.com/catalogsearch/result/?q= 要么 https://example.com/catalogsearch/result/
因此,我将其重定向回我的主页。现在的问题是搜索只是将所有内容发送回首页。所以我假设是否有等于之后的东西,它需要继续搜索..显然 https://example.com/catalogsearch/result/?q=person 但目前我无法弄清楚。.
这是我很久以来一直在处理的正则表达式...仍然似乎是错误的,或者我的搜索存在其他问题。
"^/catalogsearch/result((/)|(/\\?)|(/\\?[a-z])|(/\\?[a-z]=))?$"
请原谅我,我对正则表达式感到恐惧。
解决方法
经过大量讨论,得出的结论是,routes.yaml将把url路径视为有效路由,而不是查询字符串部分。因此,在帖子中的两个示例中,您可以使用
"/catalogsearch/result": { to: "https://example.com/",prefix: false }
,对于其他选项,请在nginx config中将其更改为重定向到首页,或者如果无法更改,请与magento支持人员联系,以了解如何将查询字符串部分合并到route.yaml文件中。