php – Codeigniter的记录行为show_404()
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Codeigniter的记录行为show_404(),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1485字,纯文字阅读大概需要3分钟。
内容图文
![php – Codeigniter的记录行为show_404()](/upload/InfoBanner/zyjiaocheng/826/b3bd472f96944c838b6ad98129ab1964.jpg)
我使用控制器为页面做一些自定义uri路由,它目前工作得很好.
这是控制器的精简版本,它使用PHPTAL作为模板引擎.
public function index()
{
$this->tal->display('index');
}
public function view($url)
{
$this->loadView($url);
}
private function loadView($url)
{
if (file_exists(ROOTPATH . 'webroot/' . $url . '/index.html'))
{
$this->tal->display($url . '/index');
}
else
{
show_404();
}
}
问题
我最近注意到,每次访问页面控制器时,我的日志中都出现以下错误:
ERROR – 2013-02-06 10:58:23 – > 404找不到页面 – >
我发现这很奇怪,因为页面按预期显示,并且肯定没有404标题,网络面板没有404状态.
我最后将其缩小到在loadView()方法中调用的show_404()辅助方法.删除该行可以阻止错误完全出现在日志文件中.
只有在找不到视图文件时才应执行此§show_404()§,在这种情况下,它应该显示404错误页面.但是,无论是否调用loadView()方法,该方法的日志记录部分似乎都是在每次调用页面控制器时执行的.
例
我在浏览器中访问index()视图,一切似乎工作正常,加载了正确的视图文件,没有错误.但是,loadView()方法会记录404错误消息. loadView()方法甚至没有从index()方法调用,但是在日志文件中存在它的输出似乎表明它正在被执行.
解决方法:
show_404的默认行为是insert a log entry when its called.还有第二个可选参数来禁用它,所以如果你只想显示404页面而不记录它,请调用它:
show_404('', false);
第一个参数是在 – >之后附加的字符串.在日志中,所以你也可以把它留空.
至于为什么可能会调用_loadView函数:
如果您使用的是不带index.php的URL(空$config [‘index_page’]),那么Web服务器无法找到的每个静态资产(图像,js,css等)(取决于具体的重写规则) )将传递给PHP脚本,并可能在那里生成404错误.
内容总结
以上是互联网集市为您收集整理的php – Codeigniter的记录行为show_404()全部内容,希望文章能够帮你解决php – Codeigniter的记录行为show_404()所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。