1

私は同じ名前のコントローラーとモジュールを持っています:ダウンロード

'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

理由がわからない

4

1 に答える 1

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は、所有するコントローラーのインデックスアクションにルーティングされます。

于 2013-02-11T11:14:26.123 に答える