0

我尝试按照这些文档在我的网站上重定向我的所有 404 错误:

http://docs.joomla.org/Creating_a_Custom_404_Error_Page

所以我编辑了我的 error.php :

<?php

defined('_JEXEC') or die;

if (($this->error->getCode()) == '404') {
header('Location: http://www.mywebsite.com');
exit;
}

        if { (!isset($this->error)) {
                $this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
                $this->debug = false;
        }

//get language and direction
$doc = JFactory::getDocument();
$this->language = $doc->language;
$this->direction = $doc->direction;
?>

但是,当我单击应该将我重定向到 404 错误页面的链接时 - 现在应该重定向到我的主页,它会转到以下链接:

http://www.mywebsite.com/index.php?Itemid=359

我该如何解决这个问题?

4

2 回答 2

0

Joomla 在构建页面时需要一个 itemID。我的猜测是您的默认页面是项目 ID 359。Joomla 最有可能将其附加到 URL,因为您没有启用重写的 SEF URL。

于 2013-08-13T04:57:48.750 回答
0

您需要(更通用)的正确代码是:

if (($this->error->getCode()) == '404') {
header('Location: /index.php');
exit;
}

有人提出以下建议,但我只想重定向到主页而不是文章:

if (($this->error->getCode()) == '404') {
header('Location: /index.php?option=com_content&view=article&id=999');
exit;
}

于 2014-11-05T13:34:23.783 回答