1

我想使用正则表达式重写我的一些 URL。这是我在模块的 config.xml 中重写的东西。

<rewrite>
    <My_Module>
        <from><![CDATA[#^/(abc)|(def)/configuration/#]]></from>
        <to>/config/configuration/</to>
        <complete>1</complete>
    </My_Module>
</rewrite>

如您所见,我想要实现的是重写所有包含abc/configurationdef/configuration的 url 。这不起作用。那么如何在 Magento 中将多个 URL 添加到同一个重写中呢?我不在乎它是否使用正则表达式或在 config.xml 中的每次重写都使用一行,到目前为止,我都没有设法弄清楚。

谢谢!

另外:我现在使用以下方法解决了这个问题:

<from><![CDATA[#^/.+/configuration/#]]></from>

这在我的案例中起到了作用:) ...我仍然对如何以第一种方式解决它感兴趣。如果有人知道,请无论如何发布!

4

1 回答 1

1

选择第一个或第二个这样写 /(first|second)/

下面的代码在 1.8 magento 中工作。

$2将被替换为曾经(.*)捕获的内容。

<config>
    <global>
        <rewrite>
            <My_Module>
                <from><![CDATA[#^/(abc|def)/configuration/(.*)#]]></from>
                <to><![CDATA[/config/configuration/$2]]></to>
                <complete>1</complete>
            </My_Module>
        </rewrite>
    </global>
<config>
于 2014-12-15T23:24:22.083 回答