如何访问控制器内的操作

时间:2014-01-20 06:44:44

标签: php yii scope yii-routing

我有一个名为 SiteController 的默认控制器,其中包含一些actions,如:

-index
-aboutcompany

当我在浏览器中打开我的网站时,如: localhost / lucky

index 操作正常运行。

index.php(view)上我建了一个链接:echo CHtml::link('About Company', array('site/aboutcompany));

当我点击链接时会出现错误:

The requested url not found on this server.

index

外,操作(sitecontroller)均无法正常工作

请建议我的解决方案。

这是控制器代码:

<?php

class SiteController extends Controller
{
public $layout='/layouts/main';

public function actions()
{
    return array(

        'captcha'=>array(
            'class'=>'CCaptchaAction',
            'backColor'=>0xFFFFFF,
        ),


        'page'=>array(
            'class'=>'CViewAction',
        ),
    );
}


public function actionIndex()
{
    $this->render('index');
}

public function actionAboutCompany(){
    $this->render('aboutcompany');
    }

这是配置代码

return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'My Web Application',

// preloading 'log' component
'preload'=>array('log'),

// autoloading model and component classes
'import'=>array(
    'application.models.*',
    'application.components.*',
),

'modules'=>array(

    'gii'=>array(
        'class'=>'system.gii.GiiModule',
        'password'=>'test',
        'ipFilters'=>array('127.0.0.1','::1'),
    ),

),

// application components
'components'=>array(
    'user'=>array(
        // enable cookie-based authentication
        'allowAutoLogin'=>true,
    ),

     'urlManager'=>array(
        'urlFormat'=>'path',
        'showScriptName'=>false,
        'caseSensitive'=>false,  
       'rules'=>array(
            '<controller:\w+>'=>'<controller>/list',
            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            '<controller:\w+>/<id:\d+>/<title>'=>'<controller>/view',
            '<controller:\w+>/<id:\d+>'=>'<controller>/view',
        ),

    ),
    'db'=>array(
        'connectionString' => 'mysql:host=localhost;dbname=testyii',
        'emulatePrepare' => true,
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
    ),

    'errorHandler'=>array(
        // use 'site/error' action to display errors
        'errorAction'=>'site/error',
    ),
    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class'=>'CFileLogRoute',
                'levels'=>'error, warning',
            ),

            array(
                'class'=>'CWebLogRoute',
            ),

        ),
    ),
),
'params'=>array(
    'adminEmail'=>'webmaster@example.com',
),
);

0 个答案:

没有答案