magento rewrite url

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);
    }
    /***/
}

呵呵,硬来

转载于:https://my.oschina.net/liufeng815/blog/539166

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值