我一直在试图找出我的正则表达式模式,但它似乎不适用于我。
这是我想做的事情:
如果有人不小心进入了这样的页面,我的网站上的链接就会断开:
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文件中。关于regex - 我网站上正则表达式特定的问题和搜索功能,处理断开的链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63639605/