yii 兑现伪静态

yii 实现伪静态

如何在yii框架下访问静态php文件,而又无需建立多个action,这里简单记录一下,希望抛砖引玉,引出更好的实现方式来:


1,在main.php中配置

 

'urlManager'=>array(
            'urlFormat'=>'path',
            'showScriptName'=>false,
            'rules'=>array(
                
'post/<view:.*>.html'=>'post/page/',


                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            ),
        ), 
 

 关键在 'post/<view:.*>.html'=>'post/page/', 这一句


2,实现一个postController

<?php
class PostController extends Controller{
	public function actions() {
		return array (
				'page' => array (
						'class' => 'CViewAction' 
				) 
		);
	}
} 

 3,在对应的views目录下增加 post/pages 目录,然后再pages目录下增加静态php文件(比如12345.php)


  则可以通过 http://域名/post/12345.html访问,如果有子目录(比如20120920/123456.php),则可以通过


  http://域名/post/20120920.12345.html