首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >baseUrl重写后如何在Yii2高级应用程序中获取Url

baseUrl重写后如何在Yii2高级应用程序中获取Url
EN

Stack Overflow用户
提问于 2015-09-03 06:34:00
回答 1查看 1.1K关注 0票数 1

我使用过Yii2高级应用程序。我在前端和后端重写url。重写后的前端url是

代码语言:javascript
复制
localhost:83/Working-copy/mySite/

以及后端

代码语言:javascript
复制
 localhost:83/Working-copy/mySite/admin

现在我想得到一个基本的网址

/工作-复制/mySite/

但我不太明白

我试过以下方法,

代码语言:javascript
复制
echo Yii::getAlias('@web') // ans= /Working-copy/mySite/admin
echo Yii::getAlias('@backend') // ans= /var/www/Working-copy/mySite/backend 
echo Yii::getAlias('@webroot') // ans= /var/www/Working-copy/mySite/backend
echo Yii::$app->request->BaseUrl // ans= /Working-copy/mySite/admin
echo Yii::$app->getBasePath(false) // ans= /var/www/Working-copy/mySite/backend
echo Yii::$app->homeUrl // ans = /Working-copy/mySite/admin/

在一些url中,我得到了/var/www/,在一些url中,得到了/admin/

我只想知道我的项目名称。有什么解决办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-03 07:26:09

  1. 将组件创建到公用文件夹中。
  2. 添加Request.php 名称空间公共\组件;类请求扩展\yii\web\请求{公共$web;公共$adminUrl;公共函数getBaseUrl(){返回str_replace($this->web,“,父函数::getBaseUrl())。$this->adminUrl;}公共函数getActualBaseUrl(){返回str_replace($this->web,"",父函数:getBaseUrl());}公共函数resolvePathInfo(){ if($this->getUrl() === $this->adminUrl){ str_replace“;}==={返回父函数::解析路径信息();}
  3. 使用Yii::$app->request->getActualBaseUrl()。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32368496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档