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