我们正在创建一个应用程序,我们可以在数据库中创建页面。 我们的所有域都将指向这个应用程序,所以我们将我们的域存储在数据库中。 基于这个域我们正在创建新的布局并确定哪些页面属于那个域。 这就是我们的问题:
我们在urlMangaer中放置一个规则:
'http://dev.<domain:w+>.com'=>'site/view'
输出: http://dev.example.com/example/index
表示: http://dev.$domain.com/$domain/$page
我们的目标是阅读 http://dev.$domain.com/$page
的url并且仍然具备我们需要的功能。
下面是我们的行动调用:
public function actionView($domain = null,$page = null, $parm = null){}
我们可能想到的解决方案是扩展 urlManager,但我们不知道该从哪里开始这样做。
我创建了一个名为getDomain的新函数:
public function getDomain(){
$domain = Domain::model()->find('domain_name=:domain_name', array(':domain_name'=>Yii::app()->request->baseUrl));
return $domain->domain_name;
}
然后在我的actionView函数里面
public function actionView($domain = null,$page = null, $parm = null){
if ($domain === null){
$domain = $this->getDomain();
}.. .
现在它使用了 $domain,它必须位于URL内部
来自https://ask.helplib.com/6534958