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


Yii - PHP - How parse subdirectory to a module (and their other params)

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

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

示例:

domain.com/site1->yii/modules/Site1Module/DefaultController

domain.com/Site1/subscription->yii/modules/Site1Module/SubscriptionController

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


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

类DefaultController扩展控制器{

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。。。

但不幸的是,它没有起作用。我该怎么解决这个问题?

Yii可以自动执行此操作。您所需要的只是正确配置UrlManager组件。这是文档相关部分的链接。