我有同名的控制器和模块:下载
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'http://'.SITE_DOMAIN.'/<action:(download)>/<url:.*>'=>'<action>',
'http://<module:(download)>.'.SITE_DOMAIN.'/<code:\w{32}>'=>'<module>',
),
)
所以我希望链接如:http://domain.com/download/dir1/dir2/file1.zip
将路由到:application / controllers / DownloadController
其中$ _GET ['url'] =='dir1 / dir2 / file1.zip'
和http://download.site.com/some_code
之类的链接将路由到:application / modules / download / controllers / DefaultController.php
其中$ _GET ['code'] =='some_code'
但现在两种类型的链接都被路由到:application / modules / download / controllers / DefaultController.php
我无法理解为什么
答案 0 :(得分:1)
试试这个:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'http://'.SITE_DOMAIN.'/download/<url:.*>'=>'Download/index',
'http://download.'.SITE_DOMAIN.'/<code:\w{32}>'=>'Download/Default/index',
),
)
注意:两个URL都将路由到他们自己的控制器的索引操作。