我遇到了无法解决的问题。部分是因为我无法用正确的术语来解释它。我很陌生,对这个笨拙的问题感到抱歉。
您可以在下面看到我的目标概述。
我正在使用Magento CE 1.7.0.2。
我想通过正则表达式按URL清除缓存。
每件事情都很好但我的问题是
我有像
这样的网址像这样我有第一个网址的网址我使用以下正则表达式我可以清除缓存'^/(?:example\.com?)?$'
对于第二个网址'^/(?:index\.php/?)?$'
使用此我可以清除缓存,但问题是在这里它也清除了第三个URL的缓存。
如何清除仅第二个网址的缓存
我在这里做错了什么?
任何想法?
答案 0 :(得分:0)
我在这里做错了什么?
^/(?:index\.php/?)?$
是的,尽管使用锚点很棒。
^
之后,您立即继续匹配不存在的/
,然后index
。这与那里不匹配(我们缺少整个http etc
部分。)?
使整个匹配成为可选项。 但是你的正则表达式适用于这个小调整(参见demo):
^.*?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