很长一段时间以来,我一直试图为我的joomla 2.5网站启用自定义404页面,因为默认的红色错误页面不是一个选项。
然而,我启用了它,它只在用户输入site.com/wrong_page时显示,如果用户输入以下结构的url site.com/wrng_page/forng_page,它不会显示任何内容,只是空白的空页面。
因此,如果用户转到一个页面"Goods",然后转到不存在的项目site.com/Goods/forund_itemid,它不会显示自定义错误,它什么也不显示,但如果用户打开site.com/orund_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目录复制到您的template目录。
-
编辑error.php文件,并在"受限访问"行下立即添加以下代码:
if(($this->error->getCode())=='404'){
header('位置:/index.php?option=com_content&view=article&id=xx')
退出
}
更新
上述技术旨在作为一种制作自定义页面的简单方法。您可以使用内置的Joomla文本编辑器,页面将与您的网站样式相匹配@Flim在下面正确地指出,页面将不再提供404 HTTP标头。如果您对此感到担忧,另一种选择是:-在您的Joomla安装中,将error.php文件从templates/system目录复制到您的template目录。
- 使用任何文本编辑器在模板目录中打开error.php的副本,然后根据需要编辑
<body>
标记中的HTML
祝你好运!
尝试使用htaccess设置它。
ErrorDocument 404 /page404.php
ErrorDocument 500 /page500.php
希望能有所帮助。。