1.通过修改模块下的config.xml来重新url
<global>
<rewrite>
<something>
<from><![CDATA[#^/Black/#]]></from>
<to><![CDATA[/]]></to>
<complete>1</complete>
</something>
</rewrite>
</global>
这样写就是正则的匹配替换preg_replace(),详情看这里
class Mage_Core_Controller_Varien_Front
public function rewrite(){}
这之前还有一个rewrite
class Mage_Core_Model_Url_Rewrite
public function rewrite(){}
这个rewrite可以理解为逻辑解析url,store,产品分类url的数据库匹配,产生真实的控制器路径
而上面的rewrite仅仅只是配置重写,所以有的特殊需求重写,举个例子
重写产品url
原始url xxx.com/xxx.html
访问url xxx.com/Black/xxx.html
这种url就不会通过Mage_Core_Controller_Varien_Front rewrite,到不了后一步的rewrite,也就没有效果,直接是404
所以如果需要配置重写开始就起作用,需要在这里加上正则方法,过滤成真实url就可以了
2./Cms/etc/config.xml
<frontend>
<routers>
<cms>
<use>standard</use>
<args>
<module>Mage_Cms</module>
<frontName>cms</frontName>// change here
</args>
</cms>
</routers>
</frontend>
路由name,这里可能有特殊情况,可以添加多个name来指向home页,其他的后续在看
3.class Mage_Core_Model_Url_Rewrite
public function rewrite
{
$requestCases = array();
$pathInfo = $request->getPathInfo();
/***/
if(strpos($pathInfo, '/Black') === 0){
$pathInfo = str_replace('/Black', '', $pathInfo);
}
/***/
}
呵呵,硬来