yii - 获取 Yii 1 中发生错误的主 url
问题描述
我们已经为 Yii 1 实现了一个错误处理程序。我们还实现了邮件功能,因为发生任何错误都会向我们发送一封电子邮件,但问题是我们没有获得正在生成错误的当前 URL。就像一个页面控制器/动作可以包含许多图像图标等。因此,如果缺少任何图像,那么我们将获取显示 404 的图像 URL:
$url = Yii::app()->createAbsoluteUrl(Yii::app()->request->url);
但是我们甚至没有得到当前的 URL$error = Yii::app()->errorHandler->error.
所以我们没有得到没有图像的页面。请让我知道是否有任何方法可以获取当前页面 URL,因为我尝试了很多方法,但所有方法都返回丢失的图像 URL,而不是缺少图像的主页 URL。
解决方案
createAbsoluteUrl()
期望路由作为第一个参数 - 如果您提供 URL 而不是路由(如在您的代码片段中),它可能会返回随机结果。
如果你想要当前请求的绝对 URL,你可以使用getUrl()
和的组合getHostInfo()
:
$url = Yii::app()->request->getHostInfo() . Yii::app()->request->getUrl();
推荐阅读
- mysql - 使用两个查询制作水平视图
- r - RCurl Post 不适用于 kerberos 身份验证和 SSL
- sql - SQL |如何将单个日期列拆分为 SQL 表中的两列
- django - 在 crontab 中运行 Django 管理命令
- javascript - 如何仅使用 CSS3 将动态创建的元素平滑地添加到 DOM?
- c++ - C++:如何创建一个接受串联字符串作为参数的函数?
- c - C中优先级队列插入函数中的SIGSEV错误
- mongodb - Docker - 使用 MongoDB 创建第一个用户
- excel - Visual Studio Excel 插件 - VB.Net - 帮助避免不同数据范围的 vb.Null 错误
- laravel - 你如何处理喜欢许多不同的模型?