在yii的URL中,如何隐藏动态文件夹?

本文介绍了一种在应用程序中使用URL Manager实现自定义路由规则的方法,通过存储域名于数据库,并在URL Manager中设置规则,使得应用程序能够根据不同的域名提供定制化的页面布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们正在创建一个应用程序,我们可以在数据库中创建页面。 我们的所有域都将指向这个应用程序,所以我们将我们的域存储在数据库中。 基于这个域我们正在创建新的布局并确定哪些页面属于那个域。 这就是我们的问题:

我们在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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值