我正在使用Yii
如果我的网址是http://localhost/evengee/event/page/id/2/sfn+master/?tab=3
我的真实网址(文件路径)仅为http://localhost/evengee
我最好如何获得,
http://localhost/evengee/event/page/id/2/sfn+master/?tab=3
http://localhost/evengee/event/page/id/2/sfn+master/
我知道我可以拆分/爆炸str_replace吗?并使用$ _SERVER。宁愿使用 Yii原生方法。
答案 0 :(得分:18)
有关:
完整网址(http://localhost/even/page/id/2/?t=3
)使用
Yii::app()->request->getUrl()
,
不带参数的网址(http://localhost/even/page/id/2/
使用
Yii::app()->request->getPathInfo()
。
第二个将为您提供没有架构,服务器和查询字符串的URL。这似乎已经足够了。
答案 1 :(得分:4)
要获取完整网址,请使用getRequestUrl()
CHttpRequest
方法
Yii::app()->request->getRequestUrl();
您可以从CApplication方法获取当前页面的控制器,模块和操作名称
Yii::app()->getController()->id; //gets you the controller id
Yii::app()->getController()->getAction()->id; //gets you the action id
您可以使用CApplication的baseURL属性将URL拼凑在一起
Yii::app()->baseURL
答案 2 :(得分:0)
我发现的最佳和较短的方法是:
Yii::app()->createAbsoluteUrl(Yii::app()->request->getPathInfo());
OR
$this->createAbsoluteUrl(Yii::app()->request->getPathInfo());