在magento下rewrite url的方法有3种,在.htaccess文件下写相关的正则表达式、配置文件config.xml、还有一种是存储到url_rewrite model中。至于使用哪种,看个人需求。
如果只是固定的url地址的修改,可以直接在magento后台添加,具体操作可以参考网站:http://www.magentocommerce.com/knowledge-base/entry/creating-url-rewrites
1.module目录下etc/config.xml配置
<rewrite>
<my_personal_page>
<from><![CDATA[#^/profile/#]]></from>
<to><![CDATA[/personal/index/index/user/]]></to><complete>1</complete>
</my_personal_page></rewrite>
2.存储到数据库core/url_rewrite
Mage::getModel('core/url_rewrite')
->setIsSystem(true) //如果是自定义rewrite规则,则设置为false
->setIdPath('blog/index/view/id/'.$blogId) //rewrit id
->setTargetPath('blog/index/view/id/'.$blogId) //目标网址
->setRequestPath($url) //访问网址
->save();
3.修改.htaccess文件
RewriteRule ^landing/([a-z\-]+)(/)?$ landing/index/index/page/$1 [R,L]
参考网站:
http://excellencemagentoblog.com/blog/2011/10/29/simple-url-rewrite-using-magento-xml/
http://www.magesolution.com/blog/url-rewriting-magento/
http://stackoverflow.com/questions/12270276/url-rewrites-for-magento-custom-module