Yii的1.1 urlManager .PHP?PARAM = 重定向

问题描述 投票:0回答:1

我在搞清楚如何来处理的Yii 1.1一些旧网址,目前回到404以下的配置文件的一个小一点的问题。

 'urlManager' => array(
        'class' => 'UrlManager',
        'urlFormat' => 'path',
        'showScriptName' => false,
        'rules' => array(
            '/' => '/site/index',
            '/niche.php?slug=<slug>' => '/videos?niche=<slug>',
         ),
  ),

第一条规则工作正常,第二个但是,我不能完全弄清楚如何正确书写。任何建议将不胜感激。谢谢!

yii yii-components yii-url-manager
1个回答
0
投票

如果我理解正确的话,你想要一种重定向的...

这里是一个可能的解决方案:

  1. 在保护/组件创建文件CBeginRequest.php
class CBeginRequest {

    public static function run($event /* CEvent */) {
        $uri = strtolower($event->sender->request->requestUri);
        $par = parse_url($uri);
        if (isset($par['path']) && isset($par['query'])) {
            if ($par['path'] == '/niche.php') {
                parse_str($par['query'], $get);
                $niche = isset($get['slug']) ? $get['slug'] : '';
                Yii::app()->getRequest()->redirect('/videos?niche='.$niche);
            }
        }
    }

}
  1. 该行添加到保护/配置/ config.php文件:
    'onBeginRequest'=>array('CBeginRequest', 'run'),
© www.soinside.com 2019 - 2024. All rights reserved.