Yii - PHP - 如何将parse子目录转换为模块(以及它们的其他参数)

时间:2014-10-29 20:31:04

标签: php yii

问题: 我无法在文档根目录中运行Yii Application(如http://domain.com) .htaccess,index.php,文档根目录中没有任何内容:blink:

我的目标是什么: 将目录标识为应用程序中的模块,然后重定向到它们。

示例:

domain.com/site1 - > YII /模块/ Site1Module / DefaultController

domain.com/Site1/subscription - > YII /模块/ Site1Module / SubscriptionController

domain.com/Site2/contact?whatsapp - > yii / modules / Site2Module / ContactController(获取whatsapp var)


我尝试在DefaultController根应用程​​序中引导所有内容:

类DefaultController扩展Controller {

public function actionIndex()
{

    $baseUrlModule = substr(Yii::app()->getRequest()->baseUrl, 1);
    $baseRequestUri = substr(Yii::app()->getRequest()->requestUri, 1);

    if(Yii::app()->hasModule($baseUrlModule))
    {
        $this->redirect(array(Yii::app()->getRequest()->requestUri));
    } 
    else 
    {
        echo '404';
    }

}

}

然后,在每个目录中将index.php复制到Yii :: createWebApplication ...

但不幸的是它没有用。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

Yii可以自动执行此操作。您只需要正确配置UrlManager组件即可。以下是 relevant part of documentation的链接。