Php 如何在Magento中重写类别URL?

Php 如何在Magento中重写类别URL?,php,magento,routes,Php,Magento,Routes,我有以下类别结构: 默认值 ->我的类别1 -->子目录11 ---->类别111 ---->类别112 -->子目录12 ……… ->myCategory2 -->SubCat21 ---->某些类别 现在我的分类URL是 http://<host_name>/myCategory1/SubCat11/Category11 http:///myCategory1/SubCat11/Category11 或 http:///myCategory2/SubCat21/Some_ca

我有以下类别结构:

默认值
->我的类别1
-->子目录11
---->类别111
---->类别112
-->子目录12
………
->myCategory2
-->SubCat21
---->某些类别

现在我的分类URL是

http://<host_name>/myCategory1/SubCat11/Category11
http:///myCategory1/SubCat11/Category11

http:///myCategory2/SubCat21/Some_category
我想做如下分类url结构:

http://<host_name>/SubCat11/Category111
http:///SubCat11/Category111

http:///SubCat21/Some_category
有什么想法吗


谢谢。

因为您基本上是在尝试向后执行此操作,所以在Magento中没有可预见的方法来执行此操作

您可以在.htaccess文件中重写URL。您通常会创建如下规则:

RewriteRule ^/SubCat11/Category111/ /Category111/SubCat11 [L,R=301]
这看起来确实很麻烦。或许可以使用通配符对其进行改进:

RewriteRule ^/([^/]+)/([^/]+)/ /$2/$1 [L,R=301]

我可以为类别定制路由器吗?例如,创建自定义模块并重写某些类或扩展默认的magento路由器。您的问题有两个方面:1)如何解决这些请求,2)如何让系统以这种方式生成URL。确保您选择的任何答案都能解决这两个问题。
RewriteRule ^/SubCat11/Category111/ /Category111/SubCat11 [L,R=301]
RewriteRule ^/([^/]+)/([^/]+)/ /$2/$1 [L,R=301]