长期以来,我一直尝试为我的 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/