很长一段时间我都试图为我的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');
}
答案 0 :(得分:1)
尝试使用 htaccess 设置它。
ErrorDocument 404 /page404.php
ErrorDocument 500 /page500.php
希望有所帮助......
答案 1 :(得分:1)
这就是我在Joomla 2.5中所做的。
制作您的自定义' 404'制品
创建一个新的未发布的菜单项,该菜单项链接到这个新的404文章并且“应用”#39;你的改变。复制此页面的URL(index.php?optio ...)
将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目录复制到模板目录。
<body>
标记内的HTML。