我们已经为Yii 1实现了一个错误处理程序。我们也实现了邮件功能,当发生任何错误时,我们都会收到一封电子邮件,但问题是我们没有得到错误发生的当前URL。就像一个页面控制器/操作可以包含许多图片,图标等。所以如果有任何图片丢失,我们会得到显示404的图片URL:
$url = Yii::app()->createAbsoluteUrl(Yii::app()->request->url);
但我们无法获取当前URL,即使在$error = Yii::app()->errorHandler->error.
中也无法获取
因此,我们没有得到的图像是缺席的页面。请让我知道,如果有任何方法来获得当前页面的URL,因为我已经尝试了许多方法,但他们都返回丢失的图像的URL,而不是主页的URL,其中图像丢失。
2条答案
按热度按时间35g0bw711#
createAbsoluteUrl()
需要将route作为第一个参数-如果您提供URL而不是route(就像在代码片段中一样),它可能会返回随机结果。如果您需要当前请求的绝对URL,可以使用
getUrl()
和getHostInfo()
的组合:hwazgwia2#
在错误的情况下,您可以使用Yii 1中的
Yii::app()->request->requestUri
获取当前页面的url。