質問: 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.17k2:v2.6.7
回答: ここでは何もしません...最初にこれは答えではないかもしれません、それは実際の問題を分離するのに役立つかもしれない単なる思考の連鎖です。まず、ページが存在しないと判断したため、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.phpfatal error: cannot access protected property jexception::$message in /home/user/public_html/domain/templates/template/error.php on line 52そこで52行目を見て、そこでできることがあるかどうかを確認してください。それを見なければ、私は本当に正確な原因を助けることはできませんが、ほとんどの場合、それほど問題なくその部分を取り除くことができます。このページはまだ404を読み取っています。つまり、問題のレコードが見つからず、別の考えがありました。発行日はいつですか?公開開始日と公開終了日を設定できます。設定されている場合は、404がトリガーされる可能性があります。これらは、k2アイテムにあります。