次のようにルーターを構成しました。
<rewrite>
<My_Module>
<from><![CDATA[#^/computer/configuration/#]]></from>
<to>/config/configuration/</to>
<complete>1</complete>
</My_Module>
</rewrite>
/computer/configuration/のような URL にアクセスすると、/config/configuration/にルーティングされます。私が望むのは、コードでこの動作を変更することです。したがって、私のコードでは、次のように取得しています。
$from = (string) Mage::getConfig()->getNode('global/rewrite/My_Module/from');
これは機能します。返されるのは#^/computer/configuration/#です。今、私はから変更しようとしています:
$from = '#^/somethingelse/configuration/#';
Mage::getConfig()->setNode('global/rewrite/My_Module/from', $from);
Mage::getConfig()->saveConfig();
// This returns me the new value (#^/somethingelse/configuration/#)
$from = (string) Mage::getConfig()->getNode('global/rewrite/My_Module/from');
しかし、ルーティングが機能せず、404 not found ページが表示されます。私が設定した値は実際には保存されていないようです。コードで何かを忘れていませんか?
ご協力いただきありがとうございます!:)