Php Magento:使用正则表达式按URL清除缓存

Php Magento:使用正则表达式按URL清除缓存,php,regex,magento,caching,Php,Regex,Magento,Caching,我有一个我无法解决的问题。部分原因是我无法用正确的术语解释它。我不熟悉这个问题,很抱歉问了这个笨拙的问题 下面你可以看到我的目标概述 我正在使用Magento CE 1.7.0.2 我想用正则表达式通过URL清除缓存 一切正常,但我的问题是 我有像这样的网址 像这样,我有第一个URL的URL,我使用以下正则表达式,我可以清除缓存“^/?:example\.com???” 对于第二个URL“^/?:index\.php/??$”,使用此选项,我可以清除缓存,但问题在于,在这种情况下,它也会清除第三

我有一个我无法解决的问题。部分原因是我无法用正确的术语解释它。我不熟悉这个问题,很抱歉问了这个笨拙的问题

下面你可以看到我的目标概述

我正在使用Magento CE 1.7.0.2

我想用正则表达式通过URL清除缓存

一切正常,但我的问题是

我有像这样的网址

像这样,我有第一个URL的URL,我使用以下正则表达式,我可以清除缓存“^/?:example\.com???”

对于第二个URL“^/?:index\.php/??$”,使用此选项,我可以清除缓存,但问题在于,在这种情况下,它也会清除第三个URL的缓存

如何仅清除第二个URL的缓存

我在这里做错什么了吗

有什么想法吗

我在这里做错什么了吗?^/?:索引\.php/$

是的,虽然你用锚很好

在^声明我们位于字符串的开头之后,立即匹配不在那里的/,然后索引。这与此不匹配,我们缺少整个http etc部分。 这个最后,让整个比赛成为可选的。 但您的正则表达式将使用此小调整,请参见:

解释正则表达式

^.*?index\.php/?$
^                        # the beginning of the string
.*?                      # any character except \n (0 or more times
                         # (matching the least amount possible))
index                    # 'index'
\.                       # '.'
php                      # 'php'
/?                       # '/' (optional (matching the most amount
                         # possible))
$                        # before an optional \n, and the end of the
                         # string