0

これらのドキュメントに従って、Web サイトですべての 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 に答える