通过controller进行url重写
来源:互联网 发布:视频软件排名 编辑:程序博客网 时间:2024/05/29 15:15
改功能是将http://www.sample.com/tag/product/list/tagId/2,重写成http://www.sample.com/tag/2!
1
通过controller,具体详细原理我也说不清楚,大致是通过抓取一个事件来进行的!!
这个事件就是controller_front_init_routers,然后把填写
<events>
<controller_front_init_routers>
<observers>
<tag>
<type>singleton</type>
<class>Mage_Tag_Controller_Router</class>
<method>initControllerRouters</method>
</tag>
</observers>
</controller_front_init_routers>
</events>
2
写Controller,譬如:
class Mage_Tag_Controller_Router extends Mage_Core_Controller_Varien_Router_Abstract
{
public function initControllerRouters($observer)
{
$front = $observer->getEvent()->getFront();
$tag = new Mage_Tag_Controller_Router();
$front->addRouter('tag', $tag);
}
public function match(Zend_Controller_Request_Http $request)
{
$pageId = $request->getPathInfo();
Mage::register('paramsttt', $pageId);
$request->setModuleName('tag')
->setControllerName('product')
->setActionName('list');
return true;
}
}
如果执行url:/tag/tagid,就会执行这个controller,然后将paramsttt赋值于/tag/tagid,
然后呢,在执行/tag/product/list这个url(相当于),然后再这个controllers接受这个参数
$paramas = Mage::registry('paramsttt');
然后通过字符串函数
$ss = explode('/', $paramas);
$tagName =$ss['2'];
就可以得到tagid这个字符串,然后执行到的controller和得到的参数都有了,从而实现了重写!!!
3.在指向原来url需要改变成上面的修改完毕的url,也就是重写后的url,然后点击后,就通过上面的方式执行了!!
- 通过controller进行url重写
- Session通过URL重写
- 利用URLRewriter进行URL重写
- 用Route进行URL重写
- url进行重写和二级域名的url重写
- 使用BeanPostProcessor接口对受管Bean进行预处理,通过自定义Annotation,获取所有Controller的Url
- APACHE通过URL重写伪静态 【转】
- APACHE通过URL重写伪静态
- asp.net中对url进行重写
- asp.net中对url进行重写
- IIS7上进行URL重写(Windows主机)
- 通过Global.asax实现简单的url重写
- asp.net 2.0 通过url重写URLReWriter实现任意二级域名
- 通过Global.asax实现简单的url重写
- Asp.net 实现URL重写 测试通过(原创)
- 通过UrlRewriter.dll实现伪静态(url重写)|入门级
- 通过UrlRewriter.dll实现伪静态(url重写)|
- 通过Apache的URL地址重写(附伪静态方式)
- 马云:淘宝分家不为单独上市
- 一个集合的所有子集的Java代码实现
- 详细剖析TFS 2010中工作区的改进细节
- Visual Studio 2010 Extension
- 关于 log4j.jar 和 commons-logging.jar 的一些记录
- 通过controller进行url重写
- TFS API: 使用“连接团队项目”对话框
- C++模板使用介绍
- 引用 StackOverflow为什么这么成功
- 清空DropDownList的值
- Visual Studio 2008 每日小窍门 【持续发布ing~】 Tips:029
- jquery dialog 绑定到自定义div
- 10款优秀的jQuery图片插件
- java读取xml