Joomla自定义错误页面不能正常工作

时间:2014-10-27 04:09:36

标签: php joomla custom-error-pages

很长一段时间我都试图为我的joomla 2.5网站启用自定义404页面,因为默认的红色错误页面不是一个选项。

我已启用它,但是,只有当用户输入site.com/wrong_page并且用户输入以下结构的网址site.com/wrong_page/wrong_page时,它才显示,它不会显示任何内容,只是空白的空白页面。

所以,如果用户去了一个页面" Goods"然后转到未显示的项目site.com/goods/wrong_itemid它不会显示自定义错误,它什么都不显示,但如果用户打开site.com/wrong_link,他将看到自定义错误页面。

请帮我解决这个问题。

我在error.php中使用了以下内容:

switch ($this->error->code) {
   case '404':
      header('location: /404-page');
      break;
   case '500':
      include('500.php');
      break;
   case '403':
      include('403.php');
      break;
   default:
      header('location: /404-page');
    }

2 个答案:

答案 0 :(得分:1)

尝试使用 htaccess 设置它。

ErrorDocument 404 /page404.php
ErrorDocument 500 /page500.php

希望有所帮助......

答案 1 :(得分:1)

这就是我在Joomla 2.5中所做的。

  • 制作您的自定义' 404'制品

  • 创建一个新的未发布的菜单项,该菜单项链接到这个新的404文章并且“应用”#39;你的改变。复制此页面的URL(index.php?optio ...)

  • 在您的Joomla安装中,
  • 将error.php文件从templates / system目录复制到模板目录。

  • 编辑error.php文件,并在“限制访问”下立即添加以下代码。行:

    if(($ this-> error-> getCode())==' 404'){
    标题('位置:/index.php?option=com_content&view=article&id=xx');
    退出;
    }

UPDATE
上述技术旨在作为制作自定义页面的简便方法。您可以使用内置的Joomla文本编辑器,该页面将与您的网站样式相匹配。 @Flimm在下面正确指出该页面将不再提供404 HTTP标头。如果你担心这个,另一个选择是: - 在Joomla安装中,将error.php文件从templates / system目录复制到模板目录。

  • 使用任何文本编辑器打开模板目录中的error.php副本,然后根据需要编辑<body>标记内的HTML。
祝你好运!