php - Joomla 自定义错误页面无法正常工作

标签 php joomla custom-error-pages

长期以来,我一直尝试为我的 joomla 2.5 网站启用自定义 404 页面,因为默认的红色错误页面不是一个选项。

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

因此,如果用户转到“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');
    }

最佳答案

这就是我在 Joomla 2.5 中所做的

  • 创建自定义“404”文章

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

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

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

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

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

  • 使用任何文本编辑器打开模板目录中的 error.php 副本,然后编辑 <body> 中的 HTML随心所欲地标记。

祝你好运!

关于php - Joomla 自定义错误页面无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26581061/

相关文章:

python - Django handler500 作为基于类的 View

spring-boot - 错误页面注册器和全局异常处理

javascript - 如何在jquery中获取具有唯一编号的div的ID?

php - 使用 PHP 和 MYSQL 使用 MVC 架构的 CRUD

php - Laravel Homestead Mongo 安装导致 PHP 错误 undefined symbol : php_json_serializable_ce in Unknown on line 0

要在空白页面上呈现的 Joomla 模块或组件

php - Joomla 3 : adding category-image in article template

php - Joomla:是否可以在没有 iframe 和插件的情况下显示组件的 View ?

c# - 在 ASP.NET MVC 2 中显示自定义 403 错误页面

php - 在php中没有对象实例化的情况下调用类方法(带构造函数)