web-dev-qa-db-ja.com

404を生産するK2アイテム

エイリアスjunior-tennis2のK2アイテムがあります。このアイテムは http://www.melvilletenniscentre.com.au/junior-tennis2 に表示されます。

ただし、このURLは、リダイレクトループがある http://www.melvilletenniscentre.com.au/404 に302リダイレクトされています。

K2アイテムのエイリアスとメニューエントリのエイリアスを再確認しましたが、どちらもjunior-tennis2です。

このURLを404にリダイレクトする.htaccessには何もありません。

このURLが正しく読み込まれないのはなぜですか?ありがとう。

Joomla:v2.5.17

K2:v2.6.7

3
Steve

ここでは何もしません...

最初にこれは答えではないかもしれません、それは実際の問題を分離するのに役立つかもしれない単なる思考の連鎖です。

まず、ページが存在しないと判断したため、404にリダイレクトしています。ただし、404もそこにないため、404ページにリダイレクトしようとし、リダイレクトループの開始位置を確認できます。

404のメニュー項目がないと思いますか? 1つ追加して、いくつかの記事をポイントして、リダイレクトループ(初心者向け)に役立つかどうかを確認してください。

次に、そのメニュー項目を取得してIDを取得します。その後、http://www.melvilletenniscentre.com.au/index.php?Itemid=MENU_ITEM_ID

ページは表示されますか?

その場合、htaccessファイルが機能していないか、書き換え用のグローバル構成が適切に作成されていない可能性があります(またはSEFで何か)。私の推測では、htaccessファイルを新しいjoomlaインストールバージョンに置き換えます。グローバル構成については、「サイト」タブを確認してください。あなたが探している設定はSearch Engine Friendly URLsおよびUse URL rewriting

そうでない場合は、それがより深刻な問題であり、これがメニューマネージャーの動作のベースラインであるため、Joomlaを更新して、それが役立つかどうかを確認します。場合によっては、新しいファイルで問題を解決できることがあります(ただし、可能性は低いと思います)。

404ページの場合、Webサイトの何かが404ページにリダイレクトするように指示しています。できることはたくさんありますが、おそらくテンプレートのerror.phpファイルでしょう。このファイルは404を処理するためのものです。

if ($this->error->getCode() == '404') {
header('Location: '.JRoute::_('index.php?Itemid=156'));
exit;
}

これは表示される例ですが、おそらく異なるが、上記のようにItemidを使用するとリダイレクトループが回避され、ほとんどの場合、JRouteを使用してメニュー項目を定義せずに/ 404に移動します(このようにしてエイリアスを変更しても引き続き正しくリダイレ​​クトされます)。

編集:

私はその新しい404ページを見てきましたが、テンプレートにエラーがありますerror.php

Fatal error: Cannot access protected property JException::$message in /home/USER/public_html/DOMAIN/templates/TEMPLATE/error.php on line 52

そこで52行目を見て、そこでできることがあるかどうかを確認してください。それを見なければ、私は本当に正確な原因を助けることはできませんが、ほとんどの場合、それほど問題なくその部分を取り除くことができます。

このページはまだ404を読み取っています。つまり、問題のレコードが見つからず、別の考えがありました。発行日はいつですか?公開開始日と公開終了日を設定できます。設定されている場合は、404がトリガーされる可能性があります。これらは、k2アイテムにあります。

2
Jordan Ramstad

ゴミ箱にある未公開のk2アイテムを調べて、エイリアスが重複していないか確認してください。

同じエイリアスのk2アイテムがあり、そのうちの1つがゴミ箱に出されたため、この問題が一度発生しました。それがそのように起こったのはまぐれだった(完全に私のせい)、Joomla! k2アイテムであってもエイリアスが2倍になるのを防ぐ必要がありますが、それがまさにあなたが説明していることの原因でした。

1
Faye

いくつかの提案:

SEF拡張機能を使用している場合は、そのURLおよび404エラーマネージャをチェックして、このアイテム/ページに関連するエントリを確認してください。

また、Joomla Redirectコンポーネントが有効になっている場合に備えて、何かが起こっている場合は、Joomla Redirectコンポーネントをチェックインすることをお勧めします。

最後に、データベースからその項目を完全に削除して再作成し、新しいメニュー項目と再リンクすることができますが、最初にすべての場所からこのURLへの参照を削除していることを確認してください。特に、SEF拡張またはリダイレクトコンポーネント。

ああ...そしてフロントエンドで再度チェックする前に-Joomlaとブラウザのすべてのキャッシュをクリアして、ページを更新してください。

1
FFrewin